public static DTSdkSettings GetSdkSettings(IPhoneSdkVersion sdk) { DTSdkSettings settings; if (sdkSettingsCache.TryGetValue(sdk.ToString(), out settings)) { return(settings); } settings = new DTSdkSettings(); var doc = new PlistDocument(); doc.LoadFromXmlFile(GetSdkPlistFilename(sdk.ToString())); var dict = (PlistDictionary)doc.Root; settings.AlternateSDK = ((PlistString)dict["AlternateSDK"]).Value; settings.CanonicalName = ((PlistString)dict["CanonicalName"]).Value; var props = (PlistDictionary)dict["DefaultProperties"]; settings.DTCompiler = ((PlistString)props["GCC_VERSION"]).Value; var sdkPath = GetSdkPath(sdk.ToString()); settings.DTSDKBuild = GrabRootString(sdkPath + SYSTEM_VERSION_PLIST, "ProductBuildVersion"); sdkSettingsCache[sdk.ToString()] = settings; return(settings); }
public static string GetDTSdkName(IPhoneSdkVersion sdk, bool sim) { var cache = sim? dtSdkNameSim : dtSdkName; string name; if (cache.TryGetValue(sdk.ToString(), out name)) { return(name); } string keyName = sim? "AlternateSDK" : "CanonicalName"; var doc = LoadSdkSettings(sdk); var dict = (PlistDictionary)doc.Root; return(cache[sdk.ToString()] = ((PlistString)dict[keyName]).Value); }
static DTSdkSettings LoadSdkSettings(IPhoneSdkVersion sdk, bool isSim) { var settings = new DTSdkSettings(); var doc = new PlistDocument(); doc.LoadFromXmlFile(GetSdkPlistFilename(sdk.ToString(), isSim)); var dict = (PlistDictionary)doc.Root; if (!isSim) { settings.AlternateSDK = ((PlistString)dict["AlternateSDK"]).Value; } settings.CanonicalName = ((PlistString)dict["CanonicalName"]).Value; var props = (PlistDictionary)dict["DefaultProperties"]; settings.DTCompiler = ((PlistString)props["GCC_VERSION"]).Value; TargetDevice deviceFamilies = TargetDevice.NotSet; PlistArray deviceFamiliesArr; if ((deviceFamiliesArr = props.TryGetValue("SUPPORTED_DEVICE_FAMILIES") as PlistArray) != null) { foreach (var v in deviceFamiliesArr) { var s = v as PlistString; int i; if (s != null && int.TryParse(s.Value, out i)) { deviceFamilies |= (TargetDevice)i; } } } settings.DeviceFamilies = deviceFamilies; var sdkPath = GetSdkPath(sdk.ToString(), isSim); settings.DTSDKBuild = GrabRootString(sdkPath + SYSTEM_VERSION_PLIST, "ProductBuildVersion"); return(settings); }
public static DTSdkSettings GetSdkSettings(IPhoneSdkVersion sdk, bool isSim) { Dictionary <string, DTSdkSettings> cache = isSim? simSettingsCache : sdkSettingsCache; DTSdkSettings settings; if (cache.TryGetValue(sdk.ToString(), out settings)) { return(settings); } try { settings = LoadSdkSettings(sdk, isSim); } catch (Exception ex) { var sdkName = isSim? "iPhoneSimulator" : "iPhoneOS"; LoggingService.LogError(string.Format("Error loading settings for SDK {0} {1}", sdkName, sdk), ex); } cache[sdk.ToString()] = settings; return(settings); }
public static bool SdkIsInstalled(IPhoneSdkVersion version, bool sim) { return(SdkIsInstalled(version.ToString(), sim)); }
static PlistDocument LoadSdkSettings(IPhoneSdkVersion sdk) { var doc = new PlistDocument(); doc.LoadFromXmlFile("/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS" + sdk.ToString() + ".sdk/SDKSettings.plist"); return(doc); }