如何检测 dyld 符号是否存在?
有没有通用的方法来检测符号是否存在?类似于iOS5中的CGPathCreateCopyByStrokingPath()
,仅在iOS5及更高版本上可用。 如果我在 iOS 4 设备上使用此例程编译并运行应用程序,我会收到运行时 dyld 错误。
在 Objective-C 中,+class 和其他实用 API 可以用来确定某个类或某个选择器的存在,是否有任何 API 可以在 dyld 符号上执行此操作?
或者是否已获得 Apple 的许可,可以在面向 AppStore 的应用程序中使用 dyld 函数?
Is there a common way to detect if a symbol exists or not? Like CGPathCreateCopyByStrokingPath()
in iOS5, which is only available on iOS5 and later.
If I compile and run apps using this routine on iOS 4 devices, I would get a runtime dyld error.
In Objective-C, +class and other utility APIs can be used to determine the existence of some class or some selector, is there any API to do this on dyld-ed symbols?
Or is it under Apple's permission to use dyld functions for an AppStore oriented app?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要检查函数的可用性,请显式地将其地址与 NULL 或 nil 进行比较。
这是Apple 关于此事的文档 (清单 3-2)。
To check the availability of a function, explicitly compare its address to NULL or nil.
Here's Apple's documentation on the matter (listing 3-2).