Подтвердить что ты не робот

Изменено значение права идентификатора приложения?

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

error

4b9b3361

Ответ 1

Вы перенесли приложение из другой учетной записи разработчика в свою? Предыдущий идентификатор инициализации, очевидно, будет отличаться.

ОБНОВЛЕНИЕ - для уточнения

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

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

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

Ответ 2

Предупреждение сообщает, что ваше обновленное приложение не сможет получить доступ к элементам, ранее сохраненным в цепочке ключей. Старая версия вашего приложения может по-прежнему открывать и хранить элементы в цепочке ключей, как и в новой версии. Однако две версии не могут обмениваться информацией в цепочке ключей.

Таким образом, все данные, сохраненные в цепочке ключей, будут потеряны после обновления пользователем новой версии. Вся информация, хранящаяся в UIPastboard, также будет потеряна.

Вы можете увидеть это сообщение, если:

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

  • Ваше приложение было добавлено в iTunes Connect до июня 2011 года, и вы недавно обновили профиль подготовки, используемый приложением. Либо ваш старый профиль обеспечения использовал подстановочный знак (*), а новый, теперь использует определенный идентификатор приложения или наоборот (менее вероятно). В последнем случае вы можете вернуться назад и избежать предупреждения (выберите правильный профиль обеспечения в Xcode). В другом случае вероятность того, что ваше приложение нуждается в доступе к таким сервисам, как Game Center, Push Notifications (или что-либо, что идентификатор приложения подстановочного знака не позволит вам использовать), и вы не можете избежать предупреждения.

Если вы хотите получить более подробную информацию, предупреждение связано с тем фактом, что приставки Apple App приписываются Apple и не могут быть изменены. Проверьте раздел "Идентификаторы приложений" на странице "Сертификат, идентификаторы и профили Apple" (https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action - вам нужно войти в систему), нажмите на идентификатор и посмотрите поле "Префикс". Вы также можете проверить Техническую ноту 2311 Apple https://developer.apple.com/library/ios/technotes/tn2311/_index.html

Наконец, возможно, вы могли бы избежать предупреждения, изменив поле Keychain Access Groups (Keychain-access-groups) вашего профиля обеспечения. Это не сработает, поскольку Apple не позволит вам иметь разные префиксы для идентификатора приложения и для групп доступа Keychain.

Ответ 3

Что касается более строгой безопасности в iOS 8.1.3, это гораздо более серьезно, чем предполагает предупреждение. см. https://developer.apple.com/library/ios/technotes/tn2319/_index.html#//apple_ref/doc/uid/DTS40013778-CH1-ERRORMESSAGES-UPGRADE_S_APPLICATION_IDENTIFIER_DOES_NOT_MATCH_THE_INSTALLED_APP. Похоже, что несоответствие вызывает отказ в обновлении до новой версии. Когда я пытаюсь обновить с помощью Xcode, он не работает с ошибкой в ​​консоли устройства, как в Tech Note: "Строка права доступа к заявке на обновление [....] не соответствует установленной строке приложения-идентификатора приложения [....], отклонение обновления." Попытка обновления через iTunes, похоже, терпит неудачу.

Я надеюсь, что ответ просто "эта ошибка просто указывает на то, что Xcode выбрал неверный профиль подготовки", подтвержденный как https://developer.apple.com/library/ios/technotes/tn2318/_index.html#//apple_ref/doc/uid/DTS40013777-CH1-TNTAG65. Но я в последний раз представил свое приложение для многих версий Xcode назад, и найти правильный вариант может быть проблемой.

Обратите внимание, что фраза " Xcode выбрала неверный профиль подготовки"; чтобы убедиться, что он выбрал профиль, который, по вашему мнению, вы выбрали, щелкните по стрелке рядом с выбранным профилем усеченного имени в диалоговом окне проверки архива. Чтобы дважды проверить это, отправьте в App Store известную ошибку (я случайно использовал отсутствующий значок), чтобы вы увидели, появляется ли предупреждение.