Мой сценарий
Я написал приложение для iOS для клиента. Проект почти закончился, и теперь им пора положить его в App Store. Я отправлял им сборки разработки на протяжении всего процесса разработки. У этих сборщиков был идентификатор пакета, основанный на моей компании и моем клиентском проекте: com.mycompany.clientname.projectname
. Я подписал эти сборки Ad Hoc с профилем предварительного распределения распределения, который я создал в своей учетной записи Provisioning Portal.
Теперь, когда придет время в App Store, мне нужно сделать сборку выпусков и отправить их для подписывания со своим собственным профилем распределения дистрибутива App Store. Это также означает установку нового идентификатора пакета для проекта.
Моя проблема
Мне нужно получить скомпилированное приложение для клиента, чтобы они подписались со своим профилем подготовки. Тем не менее, мне нужно установить идентификатор Bundle на то, что они собираются использовать в первую очередь. Пусть говорят, что com.bestclientever.appname
. Xcode 4 не позволит мне архивировать проект сейчас, потому что для этого требуется подписание кода. Я не могу его подписать, потому что я не могу создать профиль обеспечения с тем же идентификатором Bundle, каким он был настроен в своем Provisioning Portal (портал Provisioning Portal обеспечивает уникальность - как и должно быть).
Я сделал какие-то неправильные предположения или недоразумения здесь? то есть. Должен ли я установить идентификатор Bundle в том, с чем они будут подписываться?
Вопрос
Есть ли способ архивировать или иным образом создавать приложение iOS без его подписи? Как "знак позже" или что-то еще?
Или существует ли способ создать приложение с одним идентификатором пакета, а затем кто-то еще сможет его подписать с профилем инициализации для другого идентификатора пакета (либо путем изменения идентификатора пакета скомпилированного приложения, либо другого метода подписи )?
Как я могу построить окончательную версию сборки, но кто-то еще подписал приложение для распространения в App Store?
Что я пробовал или изучал
- Действует для клиента.
- С другими, менее подкованными клиентами, я закончил тем, что получил только свой Provisioning Portal и ITunesConnect, а также выполнил окончательную сборку. Это не будет летать с этим клиентом. Это крупная компания со строгими рекомендациями по безопасности и много волокиты.
- Подменю как клиент.
- Это похоже на приведенное выше и не будет работать по тем же причинам. Мне кажется очень подозрительным спросить моего клиента: "Вы можете экспортировать свои секретные ключи и отправить их мне"? Этот метод описан в этом ответе: Как я могу отправить приложение iOS клиенту, чтобы они могли кодировать код
- Отправка клиенту моего исходного кода проекта и возможность его создания.
- Лицензия на исходный код не была в нашем соглашении. Кроме того, этот клиент не хочет вмешиваться в исходный код (следовательно, его аутсорсинг). Я хотел бы принять это как вариант последнего курорта, но там должен быть лучший способ!
- Настройка в качестве разработчика на уровне администратора в Центре разработчиков.
- К сожалению, только пользователь на уровне агента может создать профиль Provisioning Profile (насколько я могу судить). Похоже, что должен быть способ разрешить мне создать профиль, который я могу использовать для подписи сборки или создания профиля для меня. Я не могу найти ни одного варианта.