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