我有一个iOS应用程序项目,包含2个单独的target
个。例如,目标A和taget B.现在xCode8
当我将keychain sharing
设置为ON时,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
;当我手动尝试更改其中一个的值时,另一个也会更改。
如您所知,当keychain-access-groups
中的值与您用于签名的配置文件的包标识符完全匹配时,xcode不会对应用进行签名。
所以我想知道我们如何为两个单独的目标的两个单独的权利文件提供两个单独的值?
答案 0 :(得分:9)
我最后通过在我的权利中使用以下代码来修复此问题:
<plist version="1.0">
<dict>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>
</dict>
</plist>