Как я могу подписать код .xarchive iOS, чтобы клиент мог уйти в отставку? (используя push-уведомления) - PullRequest
6 голосов
/ 14 марта 2012

Мне нужно создать .xarchive файл iOS, используя профиль разработчика, чтобы клиент мог уйти в отставку, используя свои профили распространения.

(я читал это, но у него не было никаких реальных решений: Как я могу отправить приложение iOS клиенту, для них на кодовый знак )

Клиент не хочет делиться своими закрытыми ключами и не предоставляет мне доступ выше уровня «Разработчик» в центре для участников. И мы не хотим делиться нашим исходным кодом.

Нам необходимо поддерживать push-уведомления, поэтому это означает, что нам нужен полный идентификатор приложения.

Я не могу найти способ, который позволяет мне создавать и экспортировать .xarchive, подписанный с «aps production», «get-task-allow» как false, НО ТАКЖЕ используя сертификат, который соответствует сертификату распространения клиентов.

Это похоже на ошибку в XCode, не следует ли привязать изменения к 'aps production' и 'get-task-allow' к конфигурации, а не к типу профиля обеспечения? Я использую «Release», но с моим профилем разработчика.

Я что-то упустил, или это просто невозможно?

1 Ответ

5 голосов
/ 16 марта 2012

Я разобрался с ответом на этот вопрос методом проб и ошибок. Несмотря на то, что технические заметки и большинство веб-ресурсов говорят, что вам не нужен файл authorlements.plist, если вы используете XCode4 +, в некоторых случаях вы это делаете. Два вопроса представлены моим вопросом выше:

  • build Конфигурация выпуска (т. Е. Архив), но подписывание с помощью профиля обеспечения разработчика
  • с использованием push-уведомлений

Мой окончательный пользовательский файл rightlements.plist имеет 3 значения:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>get-task-allow</key>
    <false/>
    <key>aps-environment</key>
    <string>production</string>
    <key>keychain-access-groups</key>
    <array>
        <string>L23874DF.com.your.appid</string>
    </array>
</dict>
</plist>

После того, как я добавил это в свой файл authorlements.plist, я создал профиль обеспечения разработчика для этого идентификатора приложения. Затем я его заархивировал и экспортировал архив из органайзера. После экспорта я отправил его своему клиенту. Клиент смог переназначить архив со специальным профилем и отправить мне обратно файл IPA, который я загрузил на свое устройство. Я также успешно получил push-уведомление от Urban Airship на этот IPA!

...