0

有没有一种通用的方法来检测符号是否存在?就像CGPathCreateCopyByStrokingPath()在 iOS5 中一样,它仅适用于 iOS5 及更高版本。如果我在 iOS 4 设备上使用此例程编译和运行应用程序,我会收到运行时 dyld 错误。

在 Objective-C 中,+class 和其他实用程序 API 可用于确定某些类或某些选择器的存在,是否有任何 API 可以对 dyld-ed 符号执行此操作?

还是在 Apple 的许可下将 dyld 函数用于面向 AppStore 的应用程序?

4

1 回答 1

4

要检查函数的可用性,请将其地址显式与 NULL 或 nil 进行比较。

if (CGPathCreateCopyByStrokingPath != NULL) {
    // it exists
}

这是Apple 关于此事的文档(清单 3-2)。

于 2011-10-19T00:20:19.370 回答