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()); }
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(); }