我想从 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/