如何在XCode 6.3 iOS项目中find授权plist文件

我有一个相对复杂的问题,下面描述的上下文。 解决scheme似乎归结为手动编辑授权plist文件。

我找不到任何entitlements.plist文件在我的项目,并找不到任何“权利”部分在我发现的其他plist文件。

问题是,我如何find权利plist文件?


现在的背景故事:

我需要为我们部署的企业应用程序创build一个新的供应configuration文件(旧的configuration文件很快就会过期)。 有不同的环境下运行的几个版本(都具有相同的应用程序ID)。 出于某种原因,当前版本的应用程序不再包含授权“com.apple.developer.team-identifier”。 更新configuration文件时,该配额也自动从configuration文件中删除。 这会导致应用程序的所有旧版本停止工作。 他们无法在控制台日志中出现此错误:

entitlement 'com.apple.developer.team-identifier' has value not permitted by provisioning profile 'My Profile' 

据苹果支持,我们必须更新所有这些应用程序的最新版本,这当然是不可能的,因为有些是在旧环境生产,并不是所有兼容的最新function。 (我们不打算让所有客户免费升级)。 所以,苹果的官方解决scheme不是一种select。

根据对有关问题的这一评论 ,应该可以重新介绍对缺less的权利的依赖。 我想如果我可以将权利添加到当前的应用程序,重新生成它,然后生成一个新的供应configuration文件,问题可能会得到解决。

回答

我的应用程序使用默认function,在这种情况下没有entitlements.plist文件。 我能够通过在UI中添加一些function来添加一个(然后再次删除它们)。

跟进

最后,这并没有解决我的问题,结果是不同的,因为这个权利已经在以前生成的configuration文件(具有默认function)。 在比较生成的configuration文件(它们是相同的)时,我只注意到了这一点。

控制台日志中的错误似乎是由plist中的差异引起的:

以前的configuration文件:

 <key>com.apple.developer.team-identifier</key> <array> <string>SomeIdentifier</string> </array> 

新的configuration文件:

 <key>com.apple.developer.team-identifier</key> <string>SomeIdentifier</string> 

通过添加一个额外的团队标识符,可以再次获得configuration文件的兼容性,以便它再次成为一个数组,但这是一个与我在这里问的问题不同的问题。