Группы доступа к цепочке ключей в правах для многоцелевых приложений ios

У меня есть проект приложения iOS с двумя отдельными target. Например, цель A и цель B. Теперь в xCode8, когда я включил keychain sharing, xCode генерирует два файла A.entitlements и B.entitlements. Неожиданно оба они имеют одинаковое значение:

<plist version="1.0">
<dict>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)target1.bundle.identifier</string>
    </array>
</dict>
</plist>

Я имею в виду, что в обоих файлах используется bundle identifier моей первой цели; и когда я вручную пытаюсь изменить значение для одного из них, другое тоже меняется.

Как вы знаете, xcode не будет подписывать приложение, пока значение в keychain-access-groups точно соответствует идентификатору пакета профиля подготовки, который вы используете для подписи.

Поэтому мне интересно, как мы можем иметь два отдельных значения для двух отдельных файлов прав для двух отдельных целей?


person Husein Behboudi Rad    schedule 11.09.2016    source источник


Ответы (1)


Я, наконец, исправил это, используя приведенный ниже код в своих правах:

<plist version="1.0">
<dict>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    </array>
</dict>
</plist>
person Husein Behboudi Rad    schedule 11.09.2016
comment
Спасибо Husein jaan за элегантное решение, вы сэкономили мне много времени. - person Masih; 01.09.2017
comment
Ага! Вы сэкономили мое время и сделали мой день! Спасибо за полезную информацию. - person Tommy; 06.12.2017