Xcode3创建和使用iOS的dylib动态库

简介: 此文真正写于2011年4月,当时是xcode3.X版本。xcode4的路径会不同,方法请查看 Xcode4.6创建和使用iOS的dylib动态库。 文中提到的压缩文件在此下载http://download.

此文真正写于2011年4月,当时是xcode3.X版本。xcode4的路径会不同,方法请查看 Xcode4.6创建和使用iOS的dylib动态库

文中提到的压缩文件在此下载http://download.csdn.net/detail/hursing/5159352

1. Xcode同时打开两个文件

“/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/MacOSX Product Types.xcspec”

“/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneOSProductTypes.xcspec”


在“
MacOSX Product Types.xcspec”中找到Identifiercom.apple.product-type.library.dynamicItem,拖拽添加到iPhoneOSProductTypes.xcspec”的root下。(模拟器版类似)

2.用Xcode同时打开两个文件

“/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/MacOSX Package Types.xcspec”

“/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneOS PackageTypes.xcspec”


在“
MacOSX Package Types.xcspec”中找到Identifiercom.apple.package-type.mach-o-dylibItem,拖拽添加到“iPhoneOS PackageTypes.xcspec”的root下。

3.解压Cocoa Touch Dynamic Library.zip放到/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Library/

这是动态库的project模板,其实质是把由静态库模板创建的项目文件$ProjectName/ProjectName.xcodeproj/project.pbxproj中的字符串“com.apple.prodcut-type.library.static”改成了“com.apple.prodcut-type.library.dynamic”。

4解压Dynamic Library.trgttmpl.zip放到/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Target Templates/Cocoa Touch/

这是动态库是target模板。


5.完成以上四步即可开始创建dylib。开始前需要确保退出一次Xcode再继续。


选择Xcode->Create a new Xcode project->iOS->Library->Cocoa Touch Dynamic Library创建动态库,随意添加类和函数。要注意,必须在Groups & Files/Targets/$ProjectNameInfo面板(双击该Target即会打开这个面板),把Installation Directory一栏改成
@executable_path/。目的是修改加载路径为可执行目录。否则加载此dylibapp会在原路径/usr/local/lib中寻找此dylib,导致dlopen返回错误信息“image not found”。


6.随意创建一个app project

Add->Existing Frameworks,选择生成的dylib加入到project中,并把dylib添加到Targets/$ProjectName/Copy Bundle Resources。这样dylib就会被打包到app中。

注意:AppRelease版必须在TargetInfo面板中把Strip Debug Symbols During Copy一栏的取消打钩。否则程序一运行即会崩溃。暂时不知道原因。Debug版原本就是取消的,所以没问题。


PS

App可打包为ipa格式,在越狱的机器上测试通过。示例程序在Dylib.zip

一下添加或覆盖四个文件完成前四步。 解压Developer.zip后覆盖/Developer即可

目录
相关文章
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
|
8月前
|
iOS开发
iOS Xcode 意外退出 打不开工程
iOS Xcode 意外退出 打不开工程
109 0
|
6月前
|
iOS开发 芯片 MacOS
[Xcode 12, building for iOS Simulator, but linking in object file built for iOS, for architecture...
[Xcode 12, building for iOS Simulator, but linking in object file built for iOS, for architecture...
127 0
|
6月前
|
iOS开发 开发者
Xcode7.2真机调试iOS 9.3的设备
Xcode7.2真机调试iOS 9.3的设备
108 0
|
9月前
|
iOS开发
Xcode 12.3 编译提示Building for iOS Simulator, but the linked and embedded framework
Xcode 12.3 编译提示Building for iOS Simulator, but the linked and embedded framework
|
11月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
苹果开发者账号认证需要支付 688 元,对于初学 iOS 开发的同学来说,仅仅是为了进行内测而不需要上架 App Store,这样的费用是不必要的。
|
11月前
|
Linux 数据安全/隐私保护 虚拟化
Ios上架app无需688,xcode打包导出IPA,供人内测
无需支付688苹果开发者账号,xcode打包导出ipa,提供他人进行内测 众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需求
|
C语言 iOS开发
Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license”
Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license”
84 0
|
编译器 开发工具 C语言
iOS 语言基础&初探 Xcode 工具
iOS 语言基础&初探 Xcode 工具
187 0
iOS 语言基础&初探 Xcode 工具
|
存储 数据安全/隐私保护 开发者
iOS创建苹果证书、制作p12证书流程
iOS创建苹果证书、制作p12证书流程
iOS创建苹果证书、制作p12证书流程