如何访问私有iOS API? [已关闭]

问题描述 投票:0回答:1

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

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

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

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

@interface AVCaptureDevice (Private)

- (void)setExposureMode:(int)arg1;

@end

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

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

ios objective-c iphone-privateapi
1个回答
4
投票

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

唯一的问题是,在您的类别声明中,您使用的是

int
而不是
float
。您可以尝试更改此设置,看看情况是否有所改善,但我怀疑问题出在其他地方。

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

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

- (BOOL)isExposureModeSupported:(AVCaptureExposureMode)exposureMode

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

© www.soinside.com 2019 - 2024. All rights reserved.