Skip to content

Commit a3bb12c

Browse files
authored
[Xamarin.MacDev] Add methods to map between iOS and macOS versions for Mac Catalyst. (#88)
1 parent 02d6d05 commit a3bb12c

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

‎Xamarin.MacDev/MacOSXSdk.cs‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,43 @@ string GetSdkPlistFilename (string version)
159159
returnPath.Combine(GetSdkPath(version),"SDKSettings.plist");
160160
}
161161

162+
Dictionary<string,string>catalyst_version_map_ios_to_macos;
163+
Dictionary<string,string>catalyst_version_map_macos_to_ios;
164+
165+
voidLoadCatalystVersionMaps(stringversion)
166+
{
167+
if(catalyst_version_map_ios_to_macos!=null&&catalyst_version_map_macos_to_ios!=null)
168+
return;
169+
170+
catalyst_version_map_ios_to_macos=newDictionary<string,string>();
171+
catalyst_version_map_macos_to_ios=newDictionary<string,string>();
172+
173+
varfn=GetSdkPlistFilename(version);
174+
varplist=PDictionary.FromFile(fn);
175+
if(plist.TryGetValue("VersionMap",outPDictionaryversionMap)){
176+
if(versionMap.TryGetValue("iOSMac_macOS",outPDictionaryversionMapiOSToMac)){
177+
foreach(varkvpinversionMapiOSToMac)
178+
catalyst_version_map_ios_to_macos[kvp.Key]=((PString)kvp.Value).Value;
179+
}
180+
if(versionMap.TryGetValue("macOS_iOSMac",outPDictionaryversionMapMacToiOS)){
181+
foreach(varkvpinversionMapMacToiOS)
182+
catalyst_version_map_macos_to_ios[kvp.Key]=((PString)kvp.Value).Value;
183+
}
184+
}
185+
}
186+
187+
publicDictionary<string,string>GetCatalystVersionMap_iOS_to_Mac(stringversion)
188+
{
189+
LoadCatalystVersionMaps(version);
190+
returncatalyst_version_map_ios_to_macos;
191+
}
192+
193+
publicDictionary<string,string>GetCatalystVersionMap_Mac_to_iOS(stringversion)
194+
{
195+
LoadCatalystVersionMaps(version);
196+
returncatalyst_version_map_macos_to_ios;
197+
}
198+
162199
boolIAppleSdk.SdkIsInstalled(IAppleSdkVersionversion,boolisSimulator)
163200
{
164201
returnSdkIsInstalled((AppleSdkVersion)version);

0 commit comments

Comments
 (0)