2

我们有一个使用旧Facebook iOS SDK模块的应用程序。由于应用程序中的非公共 API,应用程序被拒绝:

我们在您的应用中发现了以下非公共 API:

设置网址请求:

我们正在请求技术支持来帮助我们找到应用程序中的哪个模块使用了具有此类名称的方法。技术支持说要试试这个命令:

strings -a <libraryname.a> | grep -e 'setUrlRequest'

并且YES,旧Facebook iOS SDK模块有这样的方法。

所以我尝试使用最新的(3.5.1)SDK。从源头构建它。试图检查它:

strings -a libFacebookSDK.a | grep -e 'setUrlRequest'

输出:

-[FBRequestConnection setUrlRequest:]
setUrlRequest:
setUrlRequest:
setUrlRequest:
strings: for architecture armv7 object: libFacebookSDK.a(FBDialog.o) malformed object (unknown load command 1)
strings: for architecture cputype (12) cpusubtype (11) object: libFacebookSDK.a(FBDialog.o) malformed object (unknown load command 1)

所以即使是最新Facebook iOS SDK的有方法,因为该应用程序可能会在前往 App Store 的途中被拒绝。

如何解决这个问题?更重要的是,如何Facebook iOS SDK传递其他正在使用的应用程序。

4

2 回答 2

0

我认为这是审查小组的误报。以下是相关方法:https ://github.com/facebook/facebook-ios-sdk/blob/master/src/FBRequestConnection.m#L266 。这不是私有 API,只是 Facebook iOS SDK 中定义的 FBRequestConnection 类的一个方法。它用作此处定义的 urlRequest 属性的设置器:https ://github.com/facebook/facebook-ios-sdk/blob/master/src/FBRequestConnection.h#L123 。该名称恰好与 App Store 可能正在观看的文本模式发生冲突。

尝试在 iTunes Connect 中回复审核团队,说明这些详细信息。如果你能提供解释,他们通常对这样的事情是合理的。

于 2013-05-20T09:58:03.890 回答
0

这是Xamarin's MonoTouch产品中的问题。更新到版本6.2.6解决了问题原因:

Removal of some non-public Apple selectors (name clashes, old beta selectors and newly blacklisted)
于 2013-06-18T11:07:33.140 回答