无法分发我的应用:“您的应用包含非公开的API使用情况。”

当我修复了一些bug并重构了我在App Store上发布的项目之后,它就无法发布。 Xcode显示以下错误消息:

  • 您的应用包含非公开的API使用情况。 请检查错误,更正错误,然后重新提交您的申请。
  • 该应用引用Payload / XXX.app / XXX中的非公共符号:UICreateCGImageFromIOSurface

XXX是应用程序名称。

我search了整个项目,并没有find任何关键字(UICreateCGImageFromIOSurface)。 我怎样才能解决这个问题?

从你的项目中删除Reveal.framework。 这不应该在你的二进制文件的发布模式下被链接。

您的应用程序不仅包含源代码,还包含所有静态链接的库。 你必须检查所有这些包含私人电话。 看起来至lessReveal库包含它。

仔细检查您在项目中使用的任何第三方库

我正在面对这个问题,在检查了我的pod文件之后,我发现Look Back – Framwork只能用于debugging,就我所知。 所以删除,解决了这个问题。 成功通过Xcode 6.1提交的应用程序进行Apple Testflight betatesting:)

  • 切勿运送与Reveal图书馆链接的应用程序。 揭示你的应用程序暴露在深刻的内省,并可能会导致你的应用程序被拒绝的苹果审查小组。 显示仅用于内部开发和debugging目的。
  • 显示服务将自动停止,而iOS主机应用程序不是最前面的应用程序。 当应用程序重新打开时,它会自动重新启动。
  • Reveal支持检查针对iOS 6及更高版本编译的应用程序。 iOS部署目标版本设置也必须是“iOS 6.0”或更高版本。 如果不是这种情况,您可能会看到链接错误。
  • 显示使用Bonjour连接正在运行的iOS应用程序。 如果您在设备上运行iOS应用程序,则需要与Reveal Mac应用程序位于同一networking上才能连接到该应用程序。 如果在连接到应用程序时遇到任何问题,请检查防火墙和代理设置,确保它们不会阻塞通信。

了解更多…