使用非公共API的应用将被拒绝

时间:2015-01-01 12:19:13

标签: ios app-store otool

我们的应用程序已被Apple拒绝,并带有以下消息:(我在列中列出了所提到的api的位置)

  

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

     

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

     
      
  • BuyFreeWinTicket_marshal ___:numbers:os:,(我的内部代码)
  •   
  • getCellValidationInfo_unmarshal ___:ok:,(我的内部代码)
  •   
  • 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:,(第三方ASIHTTPRequest)   NSOperationQueue,(第三方ASIHTTPRequest)   -DisplayUserSuspendedDialogWithMessage:ReleaseByCaptcha:CaptchaURL:AndReturnTo:,(我的内部代码)   
        
    • likeActionControllerForObjectID:,(?)
    •   
  •   
  • _parseDialogConfigs:,(?)
  •   
  • BackFromLottoLoginForNag:withEmail:andPassword:,(我的内部代码)   
        
    • cacheRefreshDelay,(?)   FBViewController,(第三方 - 看起来像FB SDK)
    •   
  •   
  • deleteUnitTestUser:accessToken:,(?)
  •   
  • FathersAndMothersDisplayMothers:,(我的内部代码)
  •   
  • addRoundedRectToPath:rect:radius:,(?)
  •   
  • connection:didFailWithError:,(?)
  •   
  • createTokenFromDictionary:,(?)
  •   
  • FBSDKInitializeWithLaunchData:,(第三方 - 看起来像FB SDK)
  •   
  • fileExtensionsToHandleAsHTML,(第三方ASIHTTPRequest)
  •   
  • _analyticsParameters,(?)
  •   
  • _copyValueForKey:fromDictionary:toDictionary:,(?)
  •   
  • appCallFromApplinkArgs_v2:applinkArgs:createTimeUTC:originalQueryParameters:,(?)
  •   
  • requestWithUserID:fields:dataSource:session:,(?)   FBGraphObjectPickerViewController,(第三方 - 看起来像FB SDK)
  •   
  • DisplayErrorConnectingToCheckoutServer,(我的内部代码)
  •   
  • graphObjectWrappingDictionary :(?)
  •   
     

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

     

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

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

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

  3. 我们如何验证我们是否可以解决问题,或者我们是否可以自行获得相同的错误(我已经尝试使用应用程序sccanner - 它没有找到任何私有Api,而且我没有找到任何私有Api。我试图使用字符串和otool,但我不明白我需要寻找的东西)

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

    关于第三方 - 我们使用FB SDK(版本3.19),ASIHTTPRequest

0 个答案:

没有答案