自定义iPhone相机控件(不使用UIImagePickerController)

13

我知道在iPhone应用程序需要通过App Store审核时,其中一个要求是只能使用文档库。

但如果是这样的话,像“夜间相机”和“相机加”这样的应用程序如何使用似乎与UIImagePickerController内置的控件不同的相机控件呢?

我听说过某些情况下开发人员被赋予了访问某些头文件的“特殊”权限,以允许使用否则无法使用的功能。但是,考虑到App Store的应用选择流程非常不透明,我宁愿遵循建议而不是冒险尝试。

有人愿意提供更多信息吗?

4个回答

8

6

您可能希望查看苹果公司私有框架头文件的类转储。运行此 Perl 脚本:

http://arstechnica.com/apple/news/2008/11/dumping-the-iphone-2-2-frameworks.ars

并导航到PrivateFrameworks下的PhotoLibrary目录。 这里的一些类看起来非常有前途,可以直接访问相机。

使用未记录的API可能会损害您通过应用商店的机会,但这都非常主观 - 如果您的产品很好,苹果可能会让其通过。 我建议与苹果的开发者布道者交朋友。


感谢提供框架转储链接。我会运行脚本进行教育目的,但现在仍将坚持使用文档化的类。 - Ari Braginsky
当然。如果您想出不违反苹果条款的解决方案,请让我知道。 - user66370

1

UIImagePickerController是一个UIViewController子类,用于管理视图层次结构。您可以自由地在应用程序中尝试操作视图层次结构,但是这样做存在风险,因为苹果公司未对此进行文档说明,并且可能在任何操作系统更新时进行更改。

我从未听说过有人被授予特殊访问库的权限,但我已经阅读到未公开的类和方法与私有框架之间存在细微差别。未公开的类是一个灰色地带,但私有框架绝不允许使用。


当然,谢谢你提供的信息。 - Ari Braginsky

0
简单的解释是,商店中的应用程序不应该使用不支持的API,但这并没有得到一致的检查。你提到的应用程序要么使用不支持的函数/类/方法,要么在玩弄视图层次结构——即使可以使用标准API完成,但本身是未经记录的。
你可以像他们一样做,并冒险尝试。只需注意风险。你的应用程序可能会(a)被商店拒绝,(b)被接受但稍后被驱逐(这已经发生过不支持API的使用),(c)被接受而不被驱逐,但在苹果有新的iPhone软件更新时会出现故障(因为不支持的API或视图层次结构可能会在没有警告的情况下更改)。或者你可能会很幸运,什么都没发生。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接