Сборка iPhone AppStore: проблема с подписью кода - PullRequest
2 голосов
/ 17 ноября 2009

Я использовал ваши знания, которыми вы делитесь при переполнении стека через мои различные поиски в Google, касающиеся разработки iPhone. Спасибо за то же самое.

Но теперь мне нужна ваша активная помощь. Я пытался создать окончательную сборку для приложения, которое моя компания разрабатывает для стороннего клиента. Я отправил этому клиенту специальную рассылку с использованием идентификатора портала программы iPhone компании, и они работают нормально.

Теперь клиент хотел отправить заявку в AppStore. Естественно, приложение должно быть подписано с помощью идентификатора портала программы iPhone компании клиента.

Итак, клиент создал для меня учетную запись члена команды администратора, запросил сертификат и одобрил его сам. Скачал это. И установил его в Keychain Access под цепочкой для ключей «login» (которая является цепочкой для ключей по умолчанию), дважды щелкнув по ней.

После этого я создал идентификатор приложения. А затем я продолжил создавать профиль обеспечения распространения AppStore. Здесь я обнаружил, что некоторые, как в Provisioning Profiles я получал вкладку «Разработка», но не вкладку «Распространение».

Итак, наконец, клиент поделился своими учетными данными для входа в систему с идентификатором портала программ iPhone, используя который я создал профиль обеспечения распространения AppStore. После этого я скачал профиль обеспечения и поместил его в «/ Library / MobileDevice / Provisioning Profiles»

Затем в свойствах сборки я попытался назначить этот профиль обеспечения в качестве идентификатора подписи кода, он дал мне ошибку:

профиль не соответствует ни одной действительной паре сертификат / закрытый ключ в цепочке ключей по умолчанию

После этого я создал загруженные клиентские разработки, а также сертификаты распространения и добавил их в «логин» (который устанавливается в качестве цепочки для ключей по умолчанию)

После этого я создал новый AppID и Provisioning Profile, используя учетную запись клиентов, и попытался подписать код с помощью этого нового Provisioning Profile. Но это все равно дало мне ошибку:

профиль не соответствует ни одной действительной паре сертификат / закрытый ключ в цепочке ключей по умолчанию

Может кто-нибудь объяснить, в чем может быть проблема? Это потому, что профиль обеспечения создан с использованием сертификата клиента, и поскольку у меня есть только сертификат, но не закрытый ключ для этого сертификата, он выдает ошибку?

Или перефразировать вопрос

Необходимо ли для создания AppStore сборки сертификата идентификатор приложения и профиль обеспечения должны создаваться с использованием одной и той же учетной записи, а цепочка для ключей на Mac, используемая для создания сборки, должна содержать как сертификат, так и Оригинальный закрытый ключ для сертификата?

Все ответы очень ценятся.

С уважением,

Притам Бархате.

Ответы [ 3 ]

3 голосов
/ 18 ноября 2009

Похоже, вы импортировали сертификаты вашего клиента, но НЕ их закрытый ключ. Вам нужен личный ключ, а также сертификат для подписи приложения. По соображениям безопасности закрытый ключ никогда не загружается на портал Apple, поэтому вы не сможете получить его оттуда.

Вы можете проверить, есть ли у вас закрытый ключ, выбрав Сертификаты слева в Доступе цепочки для ключей. Теперь вы должны увидеть треугольник слева от сертификата распространения вашего клиента. Нажатие на треугольник должно раскрыть секретный ключ, связанный с этим сертификатом. Если треугольника нет, у вас нет личного ключа.

1 голос
/ 18 ноября 2009

Вам необходимо сгенерировать сертификат распространения клиента с помощью .certSigningRequest, который вы создаете на своем компьютере (как и при запросе любого другого сертификата для программы для разработчиков iPhone), а затем заново создать профиль обеспечения распространения с использованием этого сертификата.

0 голосов
/ 18 ноября 2009

Я не могу начать говорить вам, сколько раз я восстанавливал всю цепочку для ключей с нуля. Истекшие записи сломали вещи, смена машин сломала вещи, вы поняли. Я предлагаю вернуться к пошаговым инструкциям Apple на странице, с которой вы получили SDK. Очень немногие люди могут публиковать приложения - вам нужно будет делать все, как если бы вы были лидером группы.

...