Esempio n. 1
0
    private void AddPlistEntries(BuildReport report)
    {
        var plistPath = GetPlistPath(report);
        var plist     = new PlistDocument();

        plist.ReadFromFile(plistPath);
        var rootDict = plist.root;

        SetPlistKey(rootDict, "PURPublisherId", PureSDKSettingsEditor.GetOrCreateSettings().publisherID);

        if (!PureSDKSettingsEditor.GetOrCreateSettings().generateLocationPlistEntries)
        {
            WarnIfMissing(rootDict, "NSLocationWhenInUseUsageDescription");
            WarnIfMissing(rootDict, "NSLocationAlwaysUsageDescription");
            WarnIfMissing(rootDict, "NSLocationWhenInUseUsageDescription");
            return;
        }

        var locationUsageDescription = PlayerSettings.iOS.locationUsageDescription;

        if (locationUsageDescription == null || locationUsageDescription.Trim() == "")
        {
            Debug.LogWarning(
                "Location Usage Description is blank. Make sure you give your users a good description of why you are asking for Location!");
        }

        //First permission pop-up
        SetPlistKey(rootDict, "NSLocationWhenInUseUsageDescription", locationUsageDescription);
        SetPlistKey(rootDict, "NSLocationAlwaysUsageDescription", locationUsageDescription);

        //Second permission pop-up
        if (PureSDKSettingsEditor.GetOrCreateSettings().askForAlwaysText == null ||
            PureSDKSettingsEditor.GetOrCreateSettings().askForAlwaysText.Trim() == "")
        {
            SetPlistKey(rootDict, "NSLocationAlwaysAndWhenInUseUsageDescription", locationUsageDescription);
        }
        else
        {
            SetPlistKey(rootDict, "NSLocationAlwaysAndWhenInUseUsageDescription", PureSDKSettingsEditor.GetOrCreateSettings().askForAlwaysText);
        }

        // Write to file
        File.WriteAllText(plistPath, plist.WriteToString());
    }
Esempio n. 2
0
 public override void OnActivate(string searchContext, VisualElement rootElement)
 {
     // This function is called when the user clicks on the MyCustom element in the Settings window.
     settings = PureSDKSettingsEditor.GetOrCreateSettings();
 }