我在苹果商店发布一款应用时遇到了问题;苹果拒绝发布该应用程序,因为它发现了非公共api的引用,特别是:"setMaximumLength:, MaximumLength"。不幸的是,在分析源代码时,我无法找到对这些api的调用。我该如何解决这个问题?
——APPLE MESSAGE——
- 5性能:软件要求性能- 2.5.1
你的应用程序使用或引用了以下非公共api:
setMaximumLength:, maximumLength
App Store不允许使用非公共api,因为如果这些api发生变化,可能会导致糟糕的用户体验。
——消息结束——
version XCode 8.0
Versione Xamarin.Forms2.3.2.127
Xamarin for Visual Studio 4.2
Xamarin的。iOS 10
你可以使用苹果的XCode命令行工具,特别是strings
或otool
来查看二进制文件,看看哪些可能调用了私有API。
在这篇文章中发现:https://discussions.apple.com/thread/3838251?tstart=0:
"此外,上面提到的一个或多个api可能驻留在应用程序包含的静态库中。如果您无法访问库的源代码,您可以使用"strings"或"otool"命令行工具搜索编译后的二进制文件。"strings"工具可以输出库调用的方法列表,"otool -ov"将输出Objective-C类结构及其定义的方法。这些技术可以帮助您缩小问题代码所在的位置。"