private static bool GetProvisioningProfileId(string filePath, out ProvisioningProfileBridge provisioningProfile) { var profile = ProvisioningProfileBridge.ParseProvisioningProfileAtPath(filePath); provisioningProfile = profile; return(profile.UUID != null); }
public void UpdateCodeSignIdentityValue() { var localProvisioningProfile = ProvisioningProfileBridge.FindLocalProfileByUUID(ProfileID); var provisioningProfileType = ProfileType; if (provisioningProfileType == ProvisioningProfileType.Automatic) { if (localProvisioningProfile != null) { provisioningProfileType = (ProvisioningProfileType)localProvisioningProfile.type; } else { provisioningProfileType = ProvisioningProfileType.Development; } } else if (localProvisioningProfile != null && provisioningProfileType != (ProvisioningProfileType)localProvisioningProfile.type) { Debug.LogWarning( $@"The locally available provisioning profile {ProfileID} uses a {localProvisioningProfile.type} certificate, but it's type is set to {provisioningProfileType} in iOS Signing Settings component. Please make sure that the correct type is set or change it to Automatic."); } // Code sign should be set to "iPhone {type}" even when building for Apple TV, for example: // CODE_SIGN_IDENTITY[sdk=appletvos*]" = "iPhone Distribution". string typeStr = (provisioningProfileType == ProvisioningProfileType.Distribution) ? "Distribution" : "Developer"; CodeSignIdentityValue = $"iPhone {typeStr}"; }
private ProvisioningProfileBridge Browse(string path) { var msg = "Select the Provising Profile used for Manual Signing"; var defaultFolder = path; ProvisioningProfileBridge provisioningProfile = null; do { path = EditorUtility.OpenFilePanel(msg, defaultFolder, "mobileprovision"); // user pressed cancel? if (path.Length == 0) { return(null); } }while (!GetProvisioningProfileId(path, out provisioningProfile)); return(provisioningProfile); }