1

我正在使用iCloud功能通过使用UIDocumentMenuViewController从iCloud中选择文件。它在开发版本中工作正常,但每当我上传与生产供应配置文件TestFlight上我的应用程序产生崩溃在线[[UIDocumentMenuViewController alloc] initWithDocumentTypes:@[@"public.data"] inMode:UIDocumentPickerModeImport]; -initWithDocumentTypes iCloud仅在生产版本中崩溃

我在一台机器归档,然后通过使用命令行在不同的机器上创建生产生成。

我还检查了生产配置文件,发现所有功能都包含在授权部分下。

有人可以帮忙吗?

+0

您在Apple开发人员网站上检查了配置文件?您是否还确认在Mac上执行命令行构建时只有最新的正确版本的配置文件?我会删除所有旧的供应配置文件,因为如果您的旧配置文件对应用程序标识有效,但没有最新授权,则它可以在构建时选择错误配置文件。 – wottle

+0

是的。一切正确。问题是我需要用命令行创建存档。那时候iCloud的权利没有被包括在内。当我通过xcode进行归档时,它工作正常。 – Ankush

+0

显然有些东西是不正确的,或者你不会得到错误。您是否确认您在生产构建计算机上没有针对该应用程序的捆绑ID的多个供应配置文件?旧版本可能会导致您的问题。 – wottle

回答

0

问题:当我创建与命令行归档不代码签名(预置简档)系统忽略不创建权利文件(授权文件archived-expanded-entitlements.xcent没有被归档包或APP_NAME内部创建的权利广告。 xcarchive)。

解决方案:我想archived-expanded-entitlements.xcent文件,所以我通过包括供应配置文件创建的存档与Xcode和包有archived-expanded-entitlements.xcent文件里面。每次我通过命令行创建归档而无需代码签名时,我都会复制此文件。我将这个archived-expanded-entitlements.xcent文件复制到档案包中。 PS:如果我们更改应用程序功能,我们需要创建新的archived-expanded-entitlements.xcent,因为权利会改变。

感谢大家的建议和意见:-)