您的位置:首页 > 移动开发 > IOS开发

iOS中创建,使用动态库(dylib)

2013-06-05 21:22 274 查看
测试环境:

xcode4.5.2 Mac OS X 10.8.2

重要:由于苹果不支持自己创建动态库,所以这里需要替换两个文件

1:iOS Device 需要替换的文件

替换路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/

2:iOS 模拟器 需要替换的文件

替换路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications

具体可参照:http://blog.iosplace.com/?p=33 或者 http://www.cocoachina.com/bbs/simple/?t129814.html

替换完成后重启Xcode

创建动态库

1:打开Xcode,新建项目,选择OS X --> Cocoa Library -->输入动态库的相关信息



2:这样,动态库已经创建好,但是由于此项目是基于Mac OS X创建的,所以这里要将project的相关设置作修改

1:Base 设置成 SDK iOS6.0

2:Architectures 设置成 standrand (armv7 armv7s)

3:Installation Directory 设置成 @executable_path/

4:Mach-O Type 设置成 Dynamic Library

5:Executable Prefix 设置成 空

6:打开项目的project.pbxproj(文本编辑器打开)文件,在编辑器中将producttype 的值修改为 com.apple.product-type.library.dynamic

7:选择合适的证书文件

3:将debug改为no



4:在动态库的相关类中添加一些测试方法

5:删除多余的framework文件。值添加Foundation.framework文件





Xcode--->Preferences--->Locations--->Advanced---->



这样基本就可以编译dylib了,但是这里还有一个需要注意的地方。

编译证书的选择

编译分为 设备编译(iOS Device) 及 模拟器编译(iPad/iPhone Simulator)

在选择设备编译的时候,一定要选择某个有效的开发者证书。否则编译会出错。

相反,选择模拟器编译的时候,不需要选择证书(如果选了证书,也会报错)。

如果一切正常,那么在编译后的文件会出现在项目文件夹的Build/Products/.…文件夹中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: