我想从iOS SDK访问一些与相机相关的私有API,如:
- (void)setExposureMode:(int)arg1;
- (int)exposureMode;
等。这仅适用于我的个人开发,我不打算向商店提交任何应用程序。但我似乎无法弄清楚如何访问和使用这些API。是否有任何教程或书籍解释该程序?
例如,我尝试将此行添加到我的.h文件中:
@interface AVCaptureDevice (Private)
- (void)setExposureMode:(int)arg1;
@end
但是当我从我的应用程序调用此API时,它崩溃了。即使respondsToSelector返回TRUE。
那么有人可以将我与一些好的资源联系起来学习私有API编程吗?
答案 0 :(得分:4)
你在做什么在语法上几乎是正确的。
唯一的问题是,在您的类别声明中,您使用的是int
而不是float
。您可以尝试更改此信息,看看情况是否有所改善,但我怀疑问题出在其他地方。
使用私有API时,没有关于其方法应该使用方式的描述。所以,也许你在错误的时间或错误的上下文中调用方法。可能检查崩溃日志可以提供一些见解。
还有一件事,看着你的崩溃:可能它崩溃的事实是因为你设置的exposureMode不受支持。尝试并使用(ref):
- (BOOL)isExposureModeSupported:(AVCaptureExposureMode)exposureMode
事先检查一下(如果你还没有这样做)。