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

虽然我明白,为了在App Store上接受iPhone应用程序,一个要求是只使用logging的库。

如果是这种情况,那么某些应用程序(如“夜间照相机”和“照相机+”)如何使用相机控件,这些控件似乎不是UIImagePickerController中包含的控件?

我曾经听说过某些情况下开发人员可以“特殊”地访问某些头文件,这些头文件如果受限于仅使用logging的库,那么这些头文件就不可能是不可能的。 但是,鉴于App Store的应用程序select过程如此不透明,我宁愿坚持所推荐的内容,而不愿意冒险。

任何人都有意在这方面多做点事情?

你可能想看看苹果私人框架头的classdump。 运行这个perl脚本:

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

并导航到PrivateFrameworks下的PhotoLibrary目录。 这里的一些课程对于直接摄像机访问看起来很有希望。

使用未公开的API可能会损害您通过app store的机会,但这一切都非常主观 – 如果您的产品是好的,苹果可能会让它滑过。 我build议与苹果公司的开发者传道人交朋友。

你有没有看到这个讨论?

http://blog.airsource.co.uk/index.php/2008/11/11/views-of-uiimagepickercontroller/

和这个自定义select器的示例代码?

http://www.codza.com/custom-uiimagepickercontroller-camera-view

希望能帮助到你。

UIImagePickerController是pipe理视图层次结构的UIViewController子类。 您可以随意使用视图层次结构,因为这些应用程序是这样的,但考虑到Apple没有logging它,并且可以在任何操作系统更新上更改它,这是有风险的。

我还没有听说过任何人可以特别使用图书馆,但我已经读过,没有logging的类别和方法与私人框架之间有一点区别。 未logging类是一个灰色地带,但私人框架是绝对不允许的。

简单的解释是,商店中的应用程序不应该使用不受支持的API,但是这不会被一致地检查。 您提到的应用程序使用不支持的函数/类/方法,或者正在使用视图层次结构 – 即使可以使用标准API完成,本身也没有logging。

你可以做他们做的事情,并把握机会。 只要意识到风险。 您的应用程序可能(a)被拒绝从商店,(b)被接受,但后来启动(这是发生在不受支持的API使用),(c)被接受,而不是启动,但打破下次苹果有一个新的iPhone软件更新(因为不支持的API或视图层次可以在没有警告的情况下更改)。 或者你可能会幸运,没有这种事情发生。