去年因需要用到动态库,自己就找了好多一些 资料,最终找到了一套方法,怎么创建与使用动态库,记录一下:
Xcode提供了在iOS工程中创建静态库的功能,和在MAC上创建动态库和静态库的功能。
但是没有提供在iOS工程中创建动态库的功能(苹果官方不允许程序中存在动态库链接,这样的程序会被AppStore拒),如下图:
由于苹果不支持自己创建iOS动态库,所以要想创建动态库首先要修改Xcode的配置文件使其支持具备创建iOS 动态库的功能,
经过调研和查询网上的一些资料,并经过自己测试成功,以下是修改方案。
-
在Finder中打开2个目录:(注意若装有多个Xcode,Xcode命名不同的话要把下面的Xcode.app改为自己Xcode的名字:如,电脑上的名字为Xcode5.1,则对应改为xcode5.1.app)
目录一:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/
目录二:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/
其中目录一对应的是 Xcode下创建 iOS工程的配置文件,而目录二时 Xcode下创建 MacOSX的配置文件。(这里只说 iOS真机版,模拟器版类似, /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform)
-
把目录一下的iPhoneOSPackageTypes.xcspec和iPhoneOSProductTypes.xcspec拷贝到桌面(或者其它有写权限的地方),分别用xcode打开。再用xcode打开目录二下的MacOSX Package Types.xcspec和MacOSX Product Types.xcspec
把MacOSX Package Types.xcspec中Identifier为com.apple.package-type.mach-o-dylib的item,如下图