加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 当我向AppStore提交应用更新时,更新配置文件是否会影

发布时间:2020-12-15 01:55:56 所属栏目:百科 来源:网络整理
导读:我有一个iPhone应用程序, uses the keychain用于认证相关的存储。 我也有一个到期的配置配置文件。 在documentation for keychain access它说: On iPhone,Keychain rights depend on the provisioning profile used to sign your application. Be sure to
我有一个iPhone应用程序, uses the keychain用于认证相关的存储。

我也有一个到期的配置配置文件。

在documentation for keychain access它说:

On iPhone,Keychain rights depend on the provisioning profile used to
sign your application. Be sure to consistently use the same
provisioning profile across different versions of your application.

由于我的配置配置文件到期,我更新了它(在配置门户),下载它,并将其“安装”到XCode的组织者中。

在向应用商店提交更新应用程序后,我基本上看到一个空钥匙串(用户被要求再次登录)。

我的问题是:当更新的配置文件用于向应用程序提交更新时,更新用于签署应用程序的配置文件是否影响密钥匙访问?文档只是说使用“相同的配置文件”,但是不清楚一个更新的配置文件是否被视为不同的配置文件(正如我上面介绍的经验)。

是什么赋予了?

更新

在tc的答案的帮助下解决。查看提交给苹果的每个.ipas中的embedded.mobileprovision文件显示,使用到期的证书和配置文件来签署应用程序的x版本,并使用不同的证书和配置配置文件来签署版本x 1用于代码签名身份的XCode的应用程序(罪魁祸首:“自动配置文件选择器”)功能)。

当开发人员使用不同的iOS开发者计划帐户开发不相关的应用程序(在同一台机器上,使用相同的OSX用户)时,第一个证书和配置文件是剩下的。多个iOS开发者程序帐户中的配置文件显然都存储在?/ Library / MobileDevice / Provisioning Profiles中,因此它们都是XCode自动配置文件选择功能的候选项。

我更改了代码签名身份,方法是选择一个完全不同的分发配置文件,这个配置文件被认为是一个更新的/有效版本的到期配置文件,并提交了更新。相同的应用程序,不同的证书,不同的配置文件==空钥匙扣。 D’OH。

解决方法

您允许使用的钥匙串由授权中的钥匙串访问组决定,该权限限制在供应配置文件中的密钥链接入组的一个子集,由“捆绑种子”/“前缀“/(配置配置文件中的ApplicationIdentifierPrefix),在”应用程序ID“中设置。

假设你保留了旧的提交的应用程序(或者iTunes的.ipa,这只是一个zip),请查看旧的和新的应用程序中的embedded.mobileprovision(在终端应用程序中更少的Foo.app/embedded.mobileprovision做伎俩,或者你可以在文本编辑器中打开它,尽管有时他们会选择错误的行结尾)。你正在寻找这样的东西(你可能会看到额外的按键/ iCloud):

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

您还可以查看您的应用程序签名的实际权利:

codesign -d --entitlements - Foo.app/Foo | vis

钥匙扣访问组默认为例如A1B2C3D4E5.com.example.MyApp,但是您可以将其设置为与A1B2C3D4E5匹配的任何内容*(Xcode 4甚至具有不错的GUI授权编辑器)。如果捆绑前缀不同,则会导致您看到的问题。我想你可以改变它,只要你没有启用推/游戏中心/等。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读