iphone - 如何访问私有(private)iOS API?

标签 iphone objective-c ios api iphone-privateapi

我想从 iOS SDK 访问一些与相机相关的私有(private) API,例如:

- (void)setExposureMode:(int)arg1;
- (int)exposureMode;

等等。这仅用于我的个人发展,我不打算向商店提交任何应用程序。但我似乎不知道如何访问和使用这些 API。有没有任何教程或书籍解释该过程?

例如,我尝试将此行添加到我的 .h 文件中:

@interface AVCaptureDevice (Private)

- (void)setExposureMode:(int)arg1;

@end

但是当我从我的应用程序调用这个 API 时,它崩溃了。即使respondsToSelector返回TRUE。

那么有人可以给我链接一些好的资源来学习私有(private) API 编程吗?

最佳答案

你所做的在语法上几乎是正确的。

唯一的问题是,在您的类别声明中,您使用的是 int 而不是 float。您可以尝试更改此设置,看看情况是否有所改善,但我怀疑问题出在其他地方。

对于私有(private) API,没有关于其方法应如何使用的描述。因此,也许您在错误的时间或在错误的上下文中调用了方法。检查崩溃日志可能会提供一些见解。

还有一件事,看看你的崩溃:它崩溃的事实可能是因为你设置的exposureMode不受支持。尝试并使用( ref ):

- (BOOL)isExposureModeSupported:(AVCaptureExposureMode)exposureMode

提前检查(如果您还没有这样做)。

关于iphone - 如何访问私有(private)iOS API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986849/

相关文章:

iphone - UIWebview 中的谷歌地图显示行车路线而不是直接显示 map

iphone - 在保持 UI 响应的同时向核心数据添加大量数据

objective-c - 核心数据 valueForKeyPath 返回 0

ios - 如果我在使用 skobbler 导航时缩小,如何停止自动放大

ios - UITableViewCell 中的简单 UIStackView 在 IB 中无法正确计算高度

javascript - jQuery 插件,用于在隐藏的 div 上缓动鼠标移动/拖动(类似于 "inner zoom"

ios - .plist,使用 HEX 而不是 RGB?

ios - "Please set up mail account in order to send email"Swift 错误

iphone - TapGestureRecognizer 不会被调用

Objective-c如何实现类似excel的 "Goal seek"算法?