У меня есть проект, в котором мы вручную управляем разрешениями из-за того, что мы развертываем много разных приложений из одной и той же кодовой базы.Сейчас мы сталкиваемся с проблемой, когда после обновления до XCode 10 мы получаем сообщение о том, что
Provisioning profile "<profile>" doesn't match the entitlements file's value for the com.apple.developer.ubiquity-kvstore-identifier entitlement. (in target '<target-name>')
Мы используем переменные проекта, чтобы заполнить значение права, поскольку оно направляет нас ксделать в документации Apple для включения iCloud в вашем приложении, как показано ниже:
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string>
И, для справки, это значение в нашем профиле обеспечения, мы видим эту ошибку для:
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string><team-identifier>.*</string>
ПРИМЕЧАНИЕ 1. Это работает в Xcode 9.x и только недавно перестало работать после обновления до Xcode 10.
ПРИМЕЧАНИЕ 2: Когда я печатаюзначение TeamIdentifierPrefix
, то же самое, что содержится в профиле обеспечения.
ПРИМЕЧАНИЕ 3: Когда я жестко кодирую, каким должно быть значение для TeamIdentifierPrefix
(которое я получил из профиля обеспечения), это работает.
ПРИМЕЧАНИЕ 4. Может быть очевидным, но это работает, если я удаляю права iCloud из файла прав.
ПРИМЕЧАНИЕ 5. Мы указываем путь к файлу соответствующих прав каждого приложения.в соответствии с Кодексом Sигнорирование настроек сборки.
Я не могу представить, что произошли изменения в разрешении переменных проекта или что-то в этом роде, поэтому мне интересно, есть ли у кого-нибудь идеи.