Два приложения, скажем, AppX и AppXLite, используют одно и то же хранилище ключей и значений iCloud с одним и тем же идентификатором магазина, а в файле прав я вижу $ (TeamIdentifierPrefix) com.company.AppX
Все работает в специальных и отладочных сборках. Но когда я пытаюсь загрузить AppXLite в appstore, я получаю сообщение об ошибке:
Недействительные права на подписание кода - подпись для вашего пакета приложений содержит значения полномочий, которые не поддерживаются. Для прав com.apple.developer.ubiquity-container-identifiers первое значение в массиве должно состоять из префикса, предоставленного Apple в профиле обеспечения, за которым следует суффикс идентификатора пакета. Идентификатор пакета должен соответствовать идентификатору пакета для одного из ваших приложений или другого приложения, которое вам разрешено использовать в качестве идентификатора контейнера iCloud. В частности, значение «YYXXXXXXYY.com.company.AppX» для ключа «com.apple.developer.ubiquity-container-identifiers» в AppXLite не поддерживается.
Согласитесь с этим письмом, но тогда все в порядке: префикс, предоставленный Apple, идентификатор пакета. В противном случае это не будет работать в специальной сборке. Но почему они говорят, что все не так?
Да, я знаю, что здесь множество ответов, я их читал. Люди говорят, что для решения этой проблемы следует отключить поддержку iCloud в приложении на портале подготовки. Если я сделаю это, мои приложения больше не будут видеть iCloud, но это одна из ключевых функций!
У меня есть идея, что я должен сначала загрузить AppX, прежде чем AppXLite, поскольку оба приложения используют идентификатор пакета AppX в качестве идентификатора магазина. Но я добавил оба приложения на портал подготовки, поэтому appstore должен знать «идентификатор пакета для одного из моих приложений», как Apple заявила в письме.
У кого-нибудь есть опыт загрузки приложений с поддержкой iCloud в Appstore?