2

我想在两个开发人员配置文件之间共享应用程序数据这可能与钥匙串访问有关吗?

通过阅读文档,听起来您仅限于应用程序 ID 之前的标识符。例如:GUS8339.com.company.app 将限制您使用 GUS8339 配置文件签名的应用程序

4

2 回答 2

3

你是对的,但它稍微复杂一些:

  • 配置文件必须具有相同的捆绑种子。这是在您创建相应的“应用程序 ID”时设置的。应用程序可以在您将其提交到 App Store 后更改应用程序 ID,但请注意非通配符应用程序 ID 必须具有唯一的捆绑包 ID(即,如果您已经为应用程序设置了非通配符应用程序 ID,您只能将其更改为使用通配符应用 ID)。

  • 您必须让这两个应用程序访问相同的“钥匙串访问组”。这是在应用程序权利中设置的。我认为 Xcode 现在有一个可以工作的 UI 来编辑这些。您可以使用通配符访问组,但我认为不建议这样做。

配置文件的相关部分如下所示(在您喜欢的文本编辑器中打开一个):

<key>Entitlements</key>
<dict>
  <key>application-identifier</key>
  <string>A1B2C3D4E5.com.example.myapp</string>
  <key>aps-environment</key>
  <string>production</string>
  <key>get-task-allow</key>
  </false>
  <key>keychain-access-groups</key>
  <array>
    <string>A1B2C3D4E5.*</string>
  </array>
</dict>

这限制了您可以在权利中添加的内容,但您应该能够指定类似的内容

  <key>keychain-access-groups</key>
  <array>
    <string>A1B2C3D4E5.com.example.myappsuite</string>
  </array>

请注意,您可能需要将此指定给钥匙串 API!

于 2013-05-01T00:52:55.263 回答
-2

钥匙串访问组取决于捆绑种子 ID - 您的配置文件所独有的值“GUS8339”。因此,要更直接地回答,不,您不能跨不同的配置文件使用访问组,因为种子 ID 基本上是您示例中的配置文件 ID。

于 2013-04-30T21:56:12.653 回答