iPhone SDK 中弱链接的替代方案?
我希望使我的应用程序与旧版本的 iPhone 操作系统兼容。我确实看到提到弱链接作为一个选项。我可以使用操作系统版本检测代码来避免操作系统无法处理的代码块吗? (比如说 iAD?)
if(OS >= 4.0){
//set up iADs using "NDA code"...
}
如果是,那么用什么来代替 if(OS >= 4.0)
?
I'm looking to make my app compatible with older versions of iPhone OS. I did see weak linking mentioned as an option. Can I use OS version detection code to avoid code blocks that the OS can't handle? (Say iAD?)
if(OS >= 4.0){
//set up iADs using "NDA code"...
}
If yes, what goes in place of if(OS >= 4.0)
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该针对新框架进行弱链接。 ,您还应该使用 NSClassFromString、respondsToSelector、instancesRespondToSelector 等方法检查新 API 的可用性。
除此之外 针对 MessageUI.framework 的弱链接(一个旧示例,但仍然相关)
首先检查 MFMailComposerController 类是否存在:
如果您需要使用新的常量、类型或函数,您可以执行以下操作
:需要知道是否可以在已经存在的类上使用新方法,您可以这样做:
等等。希望这有帮助。
You should be weak linking against the new frameworks. Alongside that you should be checking the availability of new APIs using methods like
NSClassFromString
,respondsToSelector
,instancesRespondToSelector
etc.Eg. Weak linking against MessageUI.framework (an old example, but still relevant)
First check if the
MFMailComposerController
class exists:If you need to use new constants, types or functions, you can do something like:
If you need to know if you can use anew methods on an already existing class, you can do:
And so on. Hope this helps.