iOS 中不使用私有 API 的例外情况?
我的公司正在寻求开发一个 iOS 应用程序,该应用程序需要使用私有 API 才能运行 - 事实上,使用此类 API 是该程序的全部基础(出于商业原因,我故意不透露细节)。
我的问题是,如果我们解释了这种情况,即使使用这些私有 API,Apple 是否也会允许我们的应用程序获得批准例外?我相信我们有一个非常合理的理由来请求我们正在寻找的功能的例外,所以我只想提供一些对私有 API 规则进行的任何例外的示例以及详细信息,以便我们可以更好地了解了解对苹果公司的期望。谢谢。
My company is looking to develop an iOS application which would need to make use of private APIs to function - in fact use of such APIs is the entire basis of the program (I'm purposely not revealing details for business reasons).
My question is, is there any chance that if we explained the situation, that Apple would allow an exception for our app to be approved even when using these private APIs? I believe we have a very legitimate reason to request an exception for the functionality we're looking for, so I'd just like some examples of any exceptions that have been made to the private APIs rule with details so that we can have a better idea of what might be expected from Apple. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我会诚实地告诉你:不。如果您想将其放在应用程序商店中,则不行。
您可能想知道我如何如此确定地知道这一点:我曾与承运 iPhone 的运营商合作过,也曾与与苹果有合作关系的非常大的公司合作过(即,您实际上可以与苹果公司相当资深的人交谈)。如果苹果不允许运营商使用私有 API,他们也不会允许你这样做。一种“合法”的私有 API 用途可能是将最近的通话信息放入运营商提供的帐户应用程序中。可能非常有用,对吧?而且运营商已经有了这些信息,所以没问题吗?不,这是一个大问题。苹果只是不允许。您必须从其他地方获取它(即通过运营商自己的数据库)。
没有例外,目前应用程序在提交后立即进行静态分析。如果您调用私有 API,您的应用程序几乎肯定会立即被静态分析器自动拒绝。甚至不会经过人工审核。
如果您希望在应用程序商店上进行分发,那么既然代码已得到静态分析,那么实际上没有例外。
换句话说:如果 Apple 对您的应用程序进行了例外处理,他们就必须对每个应用程序进行例外处理。那么你独特的卖点就不再那么独特了。
抱歉,我无法给你更肯定的答案,但我是根据经验说话的!
I'll be honest with you: no. If you're looking to put this on the app store, no.
You may wonder how I know this with such certainty: I've worked with carriers that carry the iPhone, and I've worked with very large companies with whom Apple has working relationships (ie, you can actually talk to someone fairly senior at Apple). If Apple won't let carriers use private APIs, they not going to let you do it either. One 'legitimate' private API use might be to put recent call information into a carrier provided account app. Could be pretty useful, right? And the carrier already has this information, so no problem? No. It's a big problem. Apple just won't allow it. You have to get it from elsewhere (ie, via the carrier's own database).
There are no exceptions, and currently apps get statically analysed immediately after submission. If you call a private API your app will almost certainly be instantly rejected automatically by the static analyzer. It won't even go through manual review.
If you're looking to distribute on the app store, there are literally no exceptions now that code gets statically analyzed.
Put it another way: if Apple made an exception for your app they'd have to make an exception for every app. And then your unique selling point wouldn't be so unique any more.
Sorry I can't give you a more positive answer, but I speak from experience!
这完全有可能,但可能性极小。他们对 UIGetScreenImage() 进行了例外处理;但那是因为有非常多的开发者为其申请了雷达。
我建议您提交高质量雷达进行增强,并解释您想要什么以及为什么。也可以考虑使用 DTS 来查明是否有替代方法,或者他们是否能够获得授权。
Its entirely possible, but extremely unlikely. they made an exception for UIGetScreenImage(); but that was because there was a very large number of developers who had filed radars for it.
I would suggest you file high quality radars for enhancement, explaining what you want and why. also maybe consider using a DTS to find out if there is an alternative way, or if they are able to get authorisation for it.