【问题标题】:Custom iPhone camera controls (not using UIImagePickerController)自定义 iPhone 相机控件(不使用 UIImagePickerController)
【发布时间】:2010-10-08 09:25:35
【问题描述】:

虽然我知道要让 iPhone 应用程序在 App Store 上被接受,一个要求是只能使用文档库。

如果是这种情况,某些应用程序(例如“夜视摄像头”和“Camera Plus”)如何使用似乎不是 UIImagePickerController 中包含的摄像头控件?

我听说过某些情况,开发人员被授予对某些标头的“特殊”访问权限,这些标头允许使用如果受限于仅使用文档库而无法实现的功能。但是,鉴于 App Store 的应用程序选择过程是多么不透明,我宁愿坚持推荐的内容,也不愿冒险。

有没有人愿意进一步说明这一点?

【问题讨论】:

    标签: ios camera


    【解决方案1】:

    你看过这个讨论吗?

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

    还有这个自定义选择器的示例代码?

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

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      您可能想查看苹果私有框架头文件的类转储。运行这个 perl 脚本:

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

      并导航到 PrivateFrameworks 下的 PhotoLibrary 目录。这里的一些类看起来很有希望直接访问相机。

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

      【讨论】:

      • 感谢框架转储链接。我将出于教育目的运行该脚本,但现在将坚持使用文档类。
      • 当然。如果您想出一个不违反苹果条款的解决方案,请告诉我
      【解决方案3】:

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

      我没有听说任何人被授予对库的特殊访问权限,但我读到未记录的类和方法与私有框架之间存在细微差别。未记录的类是灰色地带,但绝对不允许私有框架。

      【讨论】:

      • 当然。感谢您的信息。
      【解决方案4】:

      简单的解释是商店中的应用程序不应该使用不受支持的 API,但这并没有得到一致的检查。您提到的应用程序要么使用不受支持的函数/类/方法,要么正在使用视图层次结构——即使它可以使用标准 API 完成,它本身也没有记录。

      你可以做他们做的事,并抓住机会。请注意风险。您的应用程序可能 (a) 被商店拒绝,(b) 被接受但稍后启动(这发生在不支持的 API 使用中),(c) 被接受但未启动但在 Apple 下次有新的 iPhone 软件更新时中断(因为不受支持的 API 或视图层次结构可能会在没有警告的情况下更改)。或者你很幸运,这一切都没有发生。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多