0

我们的应用程序已被苹果拒绝,并显示以下消息:(我在列中输入了提到的任何 api 的位置)

我们发现您的应用使用了一个或多个非公共 API,这不符合 App Store 审核指南。不允许使用非公共 API,因为如果这些 API 发生更改,可能会导致糟糕的用户体验。

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

  • BuyFreeWinTicket_marshal___:numbers:os:,(我的内部代码)
  • getCellValidationInfo_unmarshal___:好的:,(我的内部代码)
  • AddAnimationPointForBall:nextX:nextY:forDuration:, (我的内部代码) UIViewController, (?)
    • addSessionCookie:,(我的内部代码)
    • CanDoAutomaticLogin,(我的内部代码)
    • activeSessionIfExists,(我的内部代码)
  • AddSeperatorsToNumber:,(我的内部代码)
  • addRequestToExtendTokenForSession:connection:,(我的内部代码)
    • cworksImpression, (?)
  • AddFilterWithInex:,(我的内部代码)
  • ApplySuperKeypad,(我的内部代码)
  • applicationDidOpenURL:sourceApplication:,(我的内部代码)
    • clearPersistedAppEventData, (?)
  • canPresentMessageDialog, (?)
  • applicationDidOpenURL:sourceApplication:,(我的内部代码)
  • DeleteOldLogLines,(我的内部代码)
  • hideAllHUDsForView:animated:,(我的内部代码)
  • ServerRegistrationResponseOk:,(我的内部代码)
  • requestForCustomAudienceThirdPartyID:, (?)
  • automaticNotifiesObserversForKey:, (?)
  • addOrRemovePendingConnection:, (?)
  • addHEADOperation:, (3rd party ASIHTTPRequest) NSOperationQueue, (3rd party ASIHTTPRequest) -DisplayUserSuspendedDialogWithMessage:ReleaseByCaptcha:CaptchaURL:AndReturnTo:, (我的内部代码)
    • likeActionControllerForObjectID:, (?)
  • _parseDialogConfigs:, (?)
  • BackFromLottoLoginForNag:withEmail:andPassword:,(我的内部代码)
    • cacheRefreshDelay,(?)FBViewController,(第3方 - 看起来像FB SDK)
  • deleteUnitTestUser:accessToken:, (?)
  • FathersAndMothersDisplayMothers:,(我的内部代码)
  • addRoundedRectToPath:rect:radius:, (?)
  • 连接:didFailWithError:, (?)
  • createTokenFromDictionary:, (?)
  • FBSDKInitializeWithLaunchData:,(第 3 方 - 看起来像 FB SDK)
  • fileExtensionsToHandleAsHTML,(第 3 方 ASIHTTPRequest)
  • _analyticsParameters, (?)
  • _copyValueForKey:fromDictionary:toDictionary:, (?)
  • appCallFromApplinkArgs_v2:applinkArgs:createTimeUTC:originalQueryParameters:, (?)
  • requestWithUserID:fields:dataSource:session:, (?) FBGraphObjectPickerViewController, (第 3 方 - 看起来像 FB SDK)
  • DisplayErrorConnectingToCheckoutServer,(我的内部代码)
  • graphObjectWrappingDictionary: (?)

如果您在源代码中定义了与上述 API 同名的方法,我们建议您更改方法名称,以便它们不再与 Apple 的私有 API 冲突,以避免您的应用程序在以后的提交中被标记。

此外,一个或多个上述 API 可能驻留在应用程序随附的静态库中。如果您无权访问该库的源代码,则可以使用“strings”或“otool”命令行工具搜索已编译的二进制文件。“strings”工具可以输出库调用的方法列表,“otool -ov”将输出Objective-C类结构及其定义的方法。这些技术可以帮助您缩小有问题的代码所在的位置。

  1. 该消息是否意味着 Apple 拥有与上述 API 具有相同签名的私有 API?(这意味着他们使用“-DisplayUserSuspendedDialogWithMessage:ReleaseByCaptcha:CaptchaURL:AndReturnTo:”作为私人签名 - 这是不可能的)

  2. 我们如何解决这个问题 - 我们是否需要更改所有上述 API 名称?

  3. 我们如何验证我们是否解决了问题,或者我们自己是否会遇到相同的错误(我尝试使用 app sccanner - 它没有找到任何私有 Api,我尝试使用字符串和 otool 但我没有了解我需要寻找的东西)

如果有人可以帮助我们,那将非常有帮助

关于第 3 方 - 我们使用 FB SDK (ver 3.19), ASIHTTPRequest

4

0 回答 0