Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 public static bool SdkIsInstalled(IPhoneSdkVersion version, bool sim)
 {
     return(SdkIsInstalled(version.ToString(), sim));
 }
Exemplo n.º 6
0
        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);
        }