Example #1
0
        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}";
        }
Example #3
0
        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);
        }