将应用上传到Mac Store时,最终的API分析过大 [英] The resulting API analysis is too large when upload app to mac store

查看:96
本文介绍了将应用上传到Mac Store时,最终的API分析过大的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我打算将我的第一个Mac应用程序上传到Apple Store

I am going to upload my first mac app to Apple Store

并修复了图标,类别...的所有验证错误.

And fixed all validation bugs of icon,category...

但是此后,我通过了带有警告的验证:

But after then I passed validation with warning :

The resulting API analysis file is too large. We were unable to validate your API usage prior to delivery. This is just an informational message.

我的上传被拒绝,原因是:无效的二进制文件"
有没有人对此案有经验?

And my upload be rejected with the reason : "Invalid binary"
Is there anyone has experience of this case ?

更新:此警告不是拒绝的原因,可能是应用程序归档的问题.我成功发布了我的应用程序以进行存储.

UPDATE : this warning is not the reason of rejecting, it maybe the app archiving problem. I successfully released my app to store.

因此,我们可以放心地忽略它.

So, we can safely ignore that.

推荐答案

Apple禁止在iOS应用中使用私有或未公开的API.您对与私有或未公开API方法同名的方法进行的任何调用都将被标记为私有API使用,即使所调用的方法是您自己定义的.

Apple forbids using private or undocumented APIs in iOS apps. Any calls you make to methods that have the same name as private or undocumented API methods will be flagged as a private API use, even if the method being called is something you have defined yourself.

App Loader进行初始扫描,检查方法名称,实例变量访问以及使用私有方法名称的@selector. App Loader并不总是做得很好,并且您拥有的源文件越多,就越有可能警告您它生成的API分析文件太大".

App Loader does an initial scan, checking for method names, instance variable access, and even @selector usage with private method names. App Loader doesn't always do a great job, and the more source files you have the more likely it is to give you the warning that the API analysis file it has generated is "too large".

幸运的是,尽管有警告,您仍然可以提交您的申请. Apple会在内部对其进行检查,如果由于名称重叠而使某些内容退回去,则您将不得不再次进行审核.

Fortunately, you can still submit your application, despite of the warning. Apple will check it internally, and if something gets kicked back because of overlapping names, you'll have to wade through the review process again.

Erika Sadun试图制作一个名为API Kit的应用程序来为您进行扫描,但她似乎放弃了自己的工作,并从网站上删除了该应用程序的任何痕迹.

Erika Sadun tried to make an app called API Kit that would do the scanning for you, but she appears to have abandoned her work and removed any trace of the application from her website.

Chimp Studios创建了 App Scanner 来执行相同的操作,但是自2011年以来就没有进行过更新.遗憾的是,对于大型项目-包括具有CocoaPods大量额外Pod的项目-除主动命名事物以使它们不会与私有API方法和实例冲突外,目前(2014年)没有解决该问题的好方法名称.

Chimp Studios created App Scanner to do the same thing, but it hasn't been updated since 2011. Unfortunately, for large projects -- and this includes projects with a lot of extra pods from CocoaPods -- there is no current (2014) good way of solving this problem other than proactively naming things such that they won't conflict with private API method and instance names.

您可以主动了解Apple的可可命名约定并尝试期待.这将减少将来的头痛.但是,在Apple引入诸如名称空间之类的内容之前,我们可能会不时继续遇到这个问题.

You can proactively learn about Apple's Cocoa Naming Conventions and try to anticipate. That will reduce future headaches. Until Apple introduces something like namespaces, however, we may continue to run into this problem from time to time.

无效的二进制"错误可能是由多种原因引起的,但与App Loader创建的API分析文档完全无关.

The "invalid binary" error can come from a number of causes, but it is entirely unrelated to the API analysis document created by App Loader.

您应该知道,即使进行了扫描,仍然有许多方法可以避免使用私有/未公开文档的API的禁令. :)

You should know that even with the scanning, there are still ways to get around the prohibition on using private/undocumented APIs. :)

这篇关于将应用上传到Mac Store时,最终的API分析过大的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆