您的应用包含非公开 API 使用
Posted
技术标签:
【中文标题】您的应用包含非公开 API 使用【英文标题】:Your app contains non-public API usage 【发布时间】:2013-05-27 13:02:36 【问题描述】:我正在尝试在 App Store 上提交我的应用,但我收到了以下消息:
Your app contains non-public API usage. Please review the errors, correct them, and resubmit your application.
The app references non-public symbols in Payload/XXX.app/XXX: CFUserNotificationDisplayNotice
其中“XXX”——应用程序名称。
谁能帮我解决这个问题?
【问题讨论】:
那么你在使用CFUserNotificationDisplayNotice()
函数吗?
@kroumvud:您的应用中是否使用了任何第三方库?
也许可以尝试在您的项目源中广泛搜索“CFUserNotificationDisplayNotice”,以及您的第三方库源...
@kroumvud 不,这与此无关。 3rd 方库以什么形式出现?源代码还是二进制文件?
@kroumvud 然后对二进制文件执行otool -tv | grep CFUserNotification
- 如果找到任何内容,则第 3 方库使用该私有函数。
【参考方案1】:
私有 API 是不打算供外部开发人员使用的 API。这是为了防止在更新 SDK 时发生重大更改。
不保证私有 API 的行为。这些方法可能会在平台的未来更新中被删除。
如果您不打算通过 Apple App Store 发布,您可以在您的 OSX 和 ios 应用程序中使用私有 API,但是您自己需要再次确保您的应用程序不是被即将到来的 SDK/OS 更新破坏。
您或您的捆绑包中的某些第三方框架正在使用私有 API
删除代码中提到的签名,你应该没问题。
【讨论】:
以上是关于您的应用包含非公开 API 使用的主要内容,如果未能解决你的问题,请参考以下文章
Google New Places API - 您的应用包含公开的 Google Cloud Platform
您的应用包含公开的 Google Cloud Platform (GCP) API 密钥
您的应用包含公开的 Google Cloud Platform (GCP) API 密钥。有关详细信息,请参阅此 Google 帮助中心文章