美文网首页iOS开发iOS Developer
Xcode中Link Binary With Libraries

Xcode中Link Binary With Libraries

作者: mercurygear | 来源:发表于2016-06-07 14:05 被阅读2859次

Required or Optional

打开Xcode的Build Phases页,Link Binary With Libraries列出了工程所需要链接的.framework动态库和.a静态库
然后你会发现右边的Status栏是有Required和Optional两个状态可以选择的,这个有什么作用呢?
对于链接的系统动态库而言,由于ios的系统是在不断的升级中,必然会引入不少新功能和新API,而大多数都是会以.framework的方式提供给开发者
如果开发者使用了这些新引入的.framework,那么因为app的用户的系统版本不是统一的,所以用户机器上�不一定都存在该动态库,此时就应该把链接的这些新的.framework改成Optional的,然后在程序代码中去动态判断用户版本,来启动对应的新功能
如果不修改成Optional而保持Required的话,在部分不存在该动态库用户的机器上,就会导致app一启动就退出,因为找不到对应的动态库

相关文章

网友评论

  • LiHaoj:xocde9的Link Binary With Librries 添加静态库的时候怎么都不会显示的
  • Hello_kid:您好,我有一个问题一直在困惑我,我在Link Binary With Librries 这里不引入系统都framework都话,会有影响吗?比如 CoreLocation.framework这个, 我不引入它, 在程序里也可以使用它;这个引入和不引入有什么区别吗?
    objcat:@码界吴彦祖 按照常理来说都不需要引入的 系统会自动识别出来在编译的时候加入进去 不过有些第三方sdk需要引入系统库 比如webkit这些 但是我自己打包的sdk同样也使用了这个库 实际引入中并不需要导入的 所以我怀疑与打包sdk的xcode版本有关联
    Hello_kid:@mercurygear 比如使用音视频就的必须导入了吧,这些框架系统是不是不默认链接
    mercurygear:这种是系统默认链接的系统库,你不配置,最终程序也会链接

本文标题:Xcode中Link Binary With Libraries

本文链接:https://www.haomeiwen.com/subject/vebddttx.html