美文网首页
Xcode下使用第三方dylib

Xcode下使用第三方dylib

作者: xiao_A | 来源:发表于2016-02-18 10:45 被阅读1077次

如何使用

Use Guidelines
这是apple给出的官方使用说明,结合第一行的描述

Dynamic libraries can be loaded either when the app launches or as it runs. Libraries that are loaded at launch time are called dependent libraries. Libraries that are loaded at runtime are called dynamically loaded libraries.

由此,现在有两种load的方式,第一种作为依赖load,这样的话是在运行之前就配置好的,相当于全局的load。
其次是动态的load,在动态load时,是一个runtime的使用方式,也就是说在具体的code里面需要自己反射lib里面的方法,通过dlopen等api来加载lib,调用方法。

具体的参考Use Guidelines

不过,一般我们都会优先考虑使用全局的方式load,那么此时如何让项目自动load?

  1. 在build phase里进行copy 动作,将我么需要的lib文件copy到响应的目录下,如framework
  2. 在最终build出来的执行文件,使用otool查看lib的加载信息,然后使用install name tool来修改具体的加载路径
    这里可以参考stackoverflow的具体问题,最佳答案有详细步骤
  3. 需要注意的是,在现在使用了instal name tool之后,这个项目中的这个install后的相关lib属性就已经保存到了项目生成的binary文件中,无论copy到何处都是保留了这个配置信息的
  4. 具体问题中我们看到了类似,@executable_path的写法,这是系统保留的动态获取路径的方法,详细使用可以参考动态路径,其中涉及
  • @rpath
  • @loader_path
  • @executable_path
    他们的具体含义,用到的继续学习吧

PS:
在本次项目调试中发现,直接使用xcode的run,那么xcode会自动将引入的全局加载方式的lib文件install到当前product所在的目录,与生成的product平级。从而只要我们在build phase copy这个lib文件到product directory,

相关文章

  • Xcode下使用第三方dylib

    如何使用 Use Guidelines这是apple给出的官方使用说明,结合第一行的描述 Dynamic libr...

  • 微信

    1.xcode7下的依赖文件 • libicucore.dylib • libz.dylib • libstdc+...

  • Xcode8添加*.dylib库

    Xcode8添加*.dylib Xcode8开始只能添加.dtb,但是编译报找不到.dylib错误。解决办法:在添...

  • Xcode 制作dylib库和使用dylib库

    1.Xcode 新建项目1.1 1.2下一个界面就是设置项目名称和ID的,然后还需要注意Framework,因为C...

  • iOS--macOS引用dylib(补充)

    制作了一个dylib,给他人使用! 一、步骤和正常的ios引用第三方静态库.a基本一致 1,导入dylib和对应的...

  • 关于在Xcode7后添加tbd静态库问题

    相信目前来说应该没有人还在使用Xcode6来开发了,Xcode7以后之前的dylib都变成了tbd,相信如果要...

  • 2021-06-20最新安装cocoapods

    Macos10.15.7和Xcode12.4 xcode项目使用cocoapods 安装第三方

  • xcode11中library not found for -l

    因为Xcode10开始已经libstdc++,再使用需要添加.dylib .tbd文件。 主要是4个文件夹。 1...

  • .tbd 与 .dylib(转)

    Xcode7 升级后 在引入动态库的时候 发现.tbd 取代了 .dylib出现在我们眼前 .dylib 去哪了 ...

  • xcode病毒

    危机来自第三方 Xcode 工具 国内多个厂商的大牌应用使用了第三方途径下载的 Xcode 开发工具(非 Appl...

网友评论

      本文标题:Xcode下使用第三方dylib

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