转:用Xcode建立Static Library重复利用你的程序代码
2013-06-08 17:59
106 查看
在进行开发时,最常遇到的就是相同的功能,会在不同的地方用到。
用 .Net 开发的话,就会将程序包装成 dll,直接在要使用的项目上加入参考即可。
在开发 iOS 其实也是有方法可以做到的
下面的步骤,会先建立一个 Cocoa Touch Static Library 的项目建立 Static Library,然后再建立一个 Single View Application 的项目来使用建立好的 Library 来进行测试
步骤如下:
一、建立 Cocoa Touch Static Library 项目
1. 开启 Xcode ,选择 Framework & Library,建立一个 Cocoa Touch Static LIbrary 项目,名称为「MyLibrary01」
2. 项目建立完成后,会看到 Xcode 有自动建立「MyLibrary01.h」、「MyLibrary01.m」,直接就实作这两个档案来测试吧。
3. 为了测试用,简单新增个 sayHello 单纯输出字符串的 Function
两个档案程序代码如下:
MyLibrary01.h
MyLibrary01.m
4. 撰写完成后,进行编译,编译的时候,不要选择到「iOS Device」、要选择 iPhone 或是 iPad,否则在使用此 Library 的项目在编译时,会出现下面的 warming 讯息:
ld: warning: ignoring file /Users/alanjiang/Desktop/程序/Lab/UseMyLibrary01/UseMyLibrary01/libMyLibrary01.a, file was built for archive which is not the architecture being linked (i386): /Users/alanjiang/Desktop/程序/Lab/UseMyLibrary01/UseMyLibrary01/libMyLibrary01.a
5. 这样就完成了,要使用的话,只要把「MyLibrary01.h」、「libMyLibrary01.a」拉到项目就可以了
PS. libMyLibrary01.a 放置的路径比较不好找,可以在档案上面按鼠标右键,选择「Show in Finder」就可以很快找到了。
二、建立 Single View Application 项目
1. 开启 Xcode ,选择 Application,建立一个 Single View Application 项目,名称为「UseMyLibrary01」
2. 把「MyLibrary01.h」、「libMyLibrary01.a」用 Finder 拉到专案中,MyLibrary01.h 不用勾选 Add to targets
3. 完成之后,在 ViewController.m 里使用我们建立的 MyLibrary01 里的 sayHello Function www.it165.net
记得要 import "MyLibrary01.h" 喔
4. 执行仿真器,会看到 Output 窗口有 NSLog 输出的讯息,就是 sayHello 输出的讯息,搞定收工!!
结论:
用此方式虽然不用每次都要复制相同的程序代码到不同的项目下,可是也是需要夹带 .h 档案到项目下,档案一多,也不见得便利,
下次分享制作 Framework 的方式,就可以解决此缺点。
出处:http://www.dotblogs.com.tw/alanjiang/archive/2013/02/26/93251.aspx
用 .Net 开发的话,就会将程序包装成 dll,直接在要使用的项目上加入参考即可。
在开发 iOS 其实也是有方法可以做到的
下面的步骤,会先建立一个 Cocoa Touch Static Library 的项目建立 Static Library,然后再建立一个 Single View Application 的项目来使用建立好的 Library 来进行测试
步骤如下:
一、建立 Cocoa Touch Static Library 项目
1. 开启 Xcode ,选择 Framework & Library,建立一个 Cocoa Touch Static LIbrary 项目,名称为「MyLibrary01」
2. 项目建立完成后,会看到 Xcode 有自动建立「MyLibrary01.h」、「MyLibrary01.m」,直接就实作这两个档案来测试吧。
3. 为了测试用,简单新增个 sayHello 单纯输出字符串的 Function
两个档案程序代码如下:
MyLibrary01.h
// MyLibrary01.h // MyLibrary01 // // Created by alanjiang on 13/2/25. // Copyright (c) 2013年 lab. All rights reserved. // #import @interface MyLibrary01 : NSObject -(NSString *) sayHello; @end
MyLibrary01.m
// // MyLibrary01.m // MyLibrary01 // // Created by alanjiang on 13/2/25. // Copyright (c) 2013年 lab. All rights reserved. // #import "MyLibrary01.h" @implementation MyLibrary01 -(NSString *) sayHello { return@"Hello 我是從 MyLibrary01 來的!!"; } @end
4. 撰写完成后,进行编译,编译的时候,不要选择到「iOS Device」、要选择 iPhone 或是 iPad,否则在使用此 Library 的项目在编译时,会出现下面的 warming 讯息:
ld: warning: ignoring file /Users/alanjiang/Desktop/程序/Lab/UseMyLibrary01/UseMyLibrary01/libMyLibrary01.a, file was built for archive which is not the architecture being linked (i386): /Users/alanjiang/Desktop/程序/Lab/UseMyLibrary01/UseMyLibrary01/libMyLibrary01.a
5. 这样就完成了,要使用的话,只要把「MyLibrary01.h」、「libMyLibrary01.a」拉到项目就可以了
PS. libMyLibrary01.a 放置的路径比较不好找,可以在档案上面按鼠标右键,选择「Show in Finder」就可以很快找到了。
二、建立 Single View Application 项目
1. 开启 Xcode ,选择 Application,建立一个 Single View Application 项目,名称为「UseMyLibrary01」
2. 把「MyLibrary01.h」、「libMyLibrary01.a」用 Finder 拉到专案中,MyLibrary01.h 不用勾选 Add to targets
3. 完成之后,在 ViewController.m 里使用我们建立的 MyLibrary01 里的 sayHello Function www.it165.net
记得要 import "MyLibrary01.h" 喔
4. 执行仿真器,会看到 Output 窗口有 NSLog 输出的讯息,就是 sayHello 输出的讯息,搞定收工!!
结论:
用此方式虽然不用每次都要复制相同的程序代码到不同的项目下,可是也是需要夹带 .h 档案到项目下,档案一多,也不见得便利,
下次分享制作 Framework 的方式,就可以解决此缺点。
出处:http://www.dotblogs.com.tw/alanjiang/archive/2013/02/26/93251.aspx
相关文章推荐
- 用Xcode建立Static Library重复利用你的程序代码(即.a静态库)
- 利用XCode来进行IOS的程序开发
- 利用map文件找到程序崩溃代码行
- 利用花生壳和VisualSVN Server建立远程代码仓库
- 利用WinDbg找出程序崩溃的代码行号
- 利用MAP文件定位程序崩溃代码行
- 可重复使用程序代码 + 可重复使用模型 = 更高的生产力
- 利用WinDbg找出程序崩溃的代码行号
- struts2利用token和tokenSession实现防止表单重复提交的具体代码
- 利用xcode-->profile对程序进行内存泄露检查总结
- Java2实用教程(第二版)程序代码——第十六章 建立对话框
- Visual C# 2005 - 利用程序代码制作简单动画效果
- ABAP--批量建立员工照片关联程序参考代码
- 利用小马下载全站程序,(php inc格式文件包括目录结构)的py代码
- 基于visual c++之windows核心编程代码分析(45)利用Windows系统服务启动程序
- Android:利用Style和include标签来减少布局中的重复代码
- 超精简C#程序代码改进-利用扩展方法简化代码增强可读性
- 利用Xcode管理代码
- xcode反汇编调试iOS模拟器程序(八)反汇编自己的代码来掌握规则
- iOS 利用腾讯 Bugly 程序调试 测试代码bug 卡顿等情况