Xcode4.6创建和使用iOS的dylib动态库

此为xcode4的方法,xcode3的方法请查看 Xcode3创建和使用iOS的dylib动态库

找到两个目录,最好用两个finder窗口分别打开:

目录一:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/

目录二:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications/

(这里只说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拖到iPhoneOSPackageTypes.xcspec,令iPhoneOSPackageTypes.xcspec变成:

把MacOSX Product Types.xcspec中Identifier为com.apple.product-type.library.dynamic的item拖到iPhoneOSProductTypes.xcspec,令iPhoneOSProductTypes.xcspec变成:

保存修改,把iPhoneOSPackageTypes.xcspec和iPhoneOSProductTypes.xcspec拷贝回去目录一,此时会因为没有写权限而提示需要鉴定,输入密码即可。

创建工程模板:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Framework & Library/Cocoa Touch Static Library.xctemplate

把以上整个文件夹复制到桌面,文件夹改名为Cocoa Touch Dynamic Library.xctemplate,用xcode打开里面的TemplateInfo.plist,修改三个地方:

保存,然后把Cocoa Touch Dynamic Library.xctemplate拷贝回去

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Framework & Library/

这时又需要鉴定。

重启xcode,就能看到:

随便创建一个app工程和一个dylib工程,做好编译依赖以及copy dylib to bundle。(点击查看大图)

动态库的工程要设置安装目录:(点击查看大图)

demo/sample和已经改好的模板 下载地址:http://download.csdn.net/detail/hursing/5416617

安装好app后,运行。然后修改UIAlertView的message,编译,用各种工具(我在Mac上用的是iPhone Explorer)把新的dylib覆盖旧的,重启程序,message成功改变! 验证ok。

以上是直接链接静态库的方法,也可以用dyld函数动态加载。要把dylib放在Document文件夹内的话,修改安装目录即可,第一次启动要自己copy出去哦。

转载请注明出处:http://blog.csdn.net/hursing

时间: 2024-09-15 03:39:27

Xcode4.6创建和使用iOS的dylib动态库的相关文章

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

此文真正写于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

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

测试环境: 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/

iOS中 Framework静态库的创建和使用遇到的那些坑 韩俊强的博客

前言 网上关于Framework制作的教程数不胜数,然而都过于陈旧,最新的也是使用Xcode7的教程,而且有些设置也只给出步骤,并没有给出原因,而且按照有些教程制作出的framework还有些问题,所以我把自己制作framework的过程记录下来,并且使用的是最新的Xcode8环境.本次制作framework,包含AFN,FMDB第三方,.a文件,xib,Bundle文件,还有Category分类,几乎制作和使用framework遇到的所有坑都被我遇到了,所以,此篇博客在我这属于干货,特此分享给

框架-iOS 动态库 热更新 审核

问题描述 iOS 动态库 热更新 审核 目前我用到了热更新这一个说法,因为业务的需求,公司需要我将iOS不用提交appStore就能更新 就能更新,我排除了其他js的更新方式,用了动态库(frameWork)经过一段时间的研究,我柑橘动态库研究的差不多了!但是问题也是变多了!动态库里面我封装了几个控制器在里面,而且控制器里面是需要去网络请求数据的,我主工程里面用的AFN,我动态库里面无法去公用AFN并且,我从很多帖子上看到说苹果不允许动态库加载更新,但是2104年iOS8出来的时候,苹果不是开放

平台-关于windows下创建静态库和动态库的问题

问题描述 关于windows下创建静态库和动态库的问题 windows下的库是跨平台的吗,比如我用qt写了个动态库,可以再其他平台用吗 解决方案 Qt是跨平台的,可以在其他平台下使用. 解决方案二: 当然不是,dll只能在windows上用.但是不排除别的操作系统可以通过自身的模拟去兼容.linux下的wine连windows下的exe都能兼容. qt是跨平台的库,但是并不是二进制文件跨平台,而是相同的源代码用不同的编译器/链接器编译,实现的跨平台. 解决方案三: winfdows上的动态库,静

【视频云端】iOS库冲突的问题---动态库导入

1.什么是库 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件.另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间. 上面提到库在使用的时候需要 Link,Link 的方式有两种,静态和动态,于是便产

游标 sqlserver-存储过程创建临时表(表名是动态的),游标中使用了这一个临时表

问题描述 存储过程创建临时表(表名是动态的),游标中使用了这一个临时表 ALTER PROCEDURE [dbo].[P_GetBusLocation] @Date1 datetime AS BEGIN SET NOCOUNT ON; declare @VehicleNo nvarchar(50),@VGroupID int,@RouteNumber varchar(200),@TableName varchar(50),@VehicleID bigint , @OldVehicleID big

ios开发-IOS开发 能否使用C++动态库

问题描述 IOS开发 能否使用C++动态库 IOS开发.我要用到别人提供的用C++写好的代码,老师希望我能用动态库的方式,请问可以实现吗?或者需要用OC重写一遍再编译成动态库吗? 解决方案 动态库提供好接口后,也可以让其他语言来调用

net 反射 c#-我就想知道“动态创建类的实例”中的动态到底什么意思?

问题描述 我就想知道"动态创建类的实例"中的动态到底什么意思? 讲反射的地方到处都在讲一句话:动态创建类的实例,我就想知道这个"动态"到底是什么意思?怎么就叫"动态"了?