是否续订供应配置文件影响钥匙串访问时,我提交的应用程序更新到AppStore的?(Does rene

2019-07-03 17:36发布

我有一个iPhone应用程序使用钥匙串认证相关的存储。

我也有一个即将到期的供应配置文件。

在钥匙串访问文档,它指出:

在iPhone上,钥匙扣权利取决于用于应用程序签名的供应配置文件。 一定要坚持使用在不同版本的应用程序相同的供应配置文件。

因为我的供应配置文件到期了,我再次它(在供应门户),下载了它,并双击它,其“安装”成Xcode的组织者。

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

我的问题是:更新用于签署一个应用程序时的影响再度配置文件用于提交一个更新的应用程序访问钥匙串的供应配置文件? 该文档只是说用“同一供应曲线”,但目前还不清楚是否重新配置文件被视为一个不同的配置文件(如我的经验,如上所述建议)。

是什么赋予了?

更新

解决了从TC的答案帮助。 综观embedded.mobileprovision在每个提交给苹果.ipas的文件透露,即将过期的证书和配置配置文件被用来签署应用程序的版本x和不同的证书和供给曲线用来签署版本X + 1应用程序(元凶:的XCode的代码签名身份的“自动配置文件选择器”功能)。

首届证书和配置文件从当开发人员使用不同的iPhone开发者计划帐户开发无关的应用程序(在同一台机器上,使用相同的用户OSX)为剩余。 在多个iOS开发者计划帐户置备型材显然都一起存储在~/Library/MobileDevice/Provisioning Profiles ,所以他们都是候选人Xcode的自动配置文件选择功能。

我改变了代码选择,我误判定为即将到期的分布图的更新/有效的版本完全不同的分布曲线签字的身份,并提交更新。 相同的应用程序,不同的证书,不同的供应配置文件==空钥匙串。 D'OH。

Answer 1:

你被允许使用该钥匙扣由以下因素决定keychain-access-groups的权利,这是仅限于子集keychain-access-groups的供应配置文件,这是由“包种” /“前缀确定“/( ApplicationIdentifierPrefix在供应轮廓),在设定‘应用ID’。

假设你已经把旧的已提交应用(或拥有.ipa从iTunes,这仅仅是一个zip),看看embedded.mobileprovision在新旧和应用程序( less 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

IIRC钥匙串访问组默认情况下,例如A1B2C3D4E5.com.example.MyApp ,但你可以将其设置为你想要提供它匹配任何A1B2C3D4E5.* (4 Xcode中甚至有一个漂亮的GUI权利主编)。 如果包前缀是不同的,这会导致你所看到的问题。 我你可以改回来前提是你没有启用推/游戏中心的/ etc。



Answer 2:

只要你的应用程序的包ID不改变不会有与钥匙串的任何问题。

考虑到我们都必须每年更新我们的证书和分布状况,这将是混乱,如果这样做打破了我们的应用程序钥匙串访问。

我有一个应用程序,一直在App Store超过4年。 它使用的钥匙串。 它已经与更新的供应配置文件更新多年来数次,很多次。 目前还没有钥匙串的问题。



Answer 3:

对于其他人搜索,我有一个不同的问题。 我跟着辞职IPA的手动步骤导致了不具有授权,这意味着没有钥匙串访问它。 所以,我创建了一个脚本辞职IPA但是从原来保持的权利。 我张贴在http://baltaks.com/2013/08/resigning-enterprise-ios-apps ,如果需要将保留该更新。



文章来源: Does renewing a provisioning profile affect keychain access when I submit an app update to the AppStore?