Weak link framework

流过昼夜 提交于 2019-12-19 02:32:16

问题


Due to the last release of the adMob package, I have added the MessageUI framework to my project. As I wish to deploy my application to 2.x OS devices, I have weak linked MessageUI as advised.

If I build for iPhone device 3.0, it works fine.

If I build for iPhone device 2.2.1, I get a link error: "ld: framework not found MessageUI"

Where could I be wrong?


回答1:


You are getting that error because you are building against a version of the SDK that does not implemement the MessageUI framework.

What you need to do is to build for iPhone OS 3.0, but in the build settings for your target set the iPhone OS Deployment Target to iPhone OS 2.0 (or whatever minimum version you'd like to support with your final application). This way, you weak-link against the newer framework, but can still deploy the application to older devices.




回答2:


This answer is missing important info - You also have to manually set the specific framework to link as "weak" instead of "required" :

in xcode - right click on the TARGET (!!!!) -> get info -> in the "General" tab, in the linked libraries list, you have a column on the right side titled "type".

The change needs to be performed there for frameworks that don't exist in previous versions of IOS.



来源:https://stackoverflow.com/questions/2627797/weak-link-framework

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!