ios - 更改为团队 ID 前缀后处理钥匙串丢失

ios - Handle keychain loss after changing to team id prefix

当我为我的应用程序开发扩展时,为了共享钥匙串,我将包标识符更改为团队 ID 前缀。

现在我想第一次注销用户,因为旧 keychain 将无法访问。问题是我无法升级我的应用程序。

我从 appstore 安装了旧版本并尝试 运行 从源代码。它说 "App installation failed. The application could not be verified."

然后我尝试安装 old developer build 并用 new developer build 更新它。这也不要升级。它开始安装,然后应用程序图标变暗。如果再次点击它显示正在安装。

如果我卸载应用程序和 运行 新的 Team id 应用程序,它工作正常。

我想要 运行 从源代码来测试升级和顺利注销用户。

终于找到方法了。您可以将应用程序上传到 testflight 并进行测试。

也无法显示正确的消息。我用来在应用程序中保存应用程序版本。我想比较旧版本号并显示消息。但是,由于新的应用程序 ID 升级后,您无法访问旧的 nsuserdefault。因此您无法确定它是升级还是全新安装。

所以选择静默注销用户。

上下文:

我有一个明确的 AppId,其 AppPrefix 与我的 TeamId 不同。

  • TeamId:ASJAZSZR
  • AppPrefix+AppId: HDJIAZDJ.com.myapp.ios

待办事项:

我正在考虑请求 Apple 协助迁移到我的 AppPrefix 以与我的 TeamId 相同。

问题:

他们在技术说明中说 "A one-time loss in keychain data will occur if you switch your App ID prefix" : https://developer.apple.com/library/content/technotes/tn2311/_index.html

我想知道用户默认值 ([NSUserDefaults default]) 是否也会发生同样的情况?有经验吗?