【转】xcode4.2 4.3下framework制作教程

简介:

将自己的类封成库供别人调用,非常方便,就行xcode中的许多类库一样。那么如何制作自己的类库呢?

 

本人在网上看过很多童鞋的文章,都没有试成功,最后在同事的帮助下搞定。今天有点空闲时间,赶紧记下来,一是跟大家分享,二是怕忘了,今天有同事问我,都感觉有点生了,所以有了这篇文章。

 

 

 

下面教大家一步步制作framework

 

 

 

 

 

1、         新建一个项目选择Framwork&Library中的Cocoa Touch Static Library。如图

 

 

 

 

 

 

2、         命名项目名称

 

 

 

 

 

 

3、         加载自己要封装的东西

 

 

 

 

 

 

4、         加载自己的代码

 

 

 

 

 

 

5、         选择设备和模拟器两种方式,编译生成libhello_world.a文件

 

 

 

 

 

 

6、         查看是否生成两个文件

 

 

 

 

 

 

7、         选择Fill——>New——>Taget弹出界面选择Aggregate

 

 

 

 

 

 

8、         命名类库的名称

 

 

 

 

 

 

9、         选择Taget :HelloWorldBulid Phases选项卡

 

 

 

 

 

 

10、     添加Taget

 

 

 

 

 

 

11、     点击又下角Add Build Phase,选择Add Run Script。贴上这段脚本

 

xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphonesimulator -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build

 

 

 

xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphoneos -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build

 

 

 

 

 

 

12、     同样的方法添加另一个脚本,脚本的意思我没有研究,你可以详细看看

 

SIMULATOR_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a" &&

 

DEVICE_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" &&

 

UNIVERSAL_LIBRARY_DIR="${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal" &&

 

UNIVERSAL_LIBRARY_PATH="${UNIVERSAL_LIBRARY_DIR}/${PRODUCT_NAME}" &&

 

FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${PRODUCT_NAME}.framework" &&

 

 

 

# Create framework directory structure.

 

rm -rf "${FRAMEWORK}" &&

 

mkdir -p "${UNIVERSAL_LIBRARY_DIR}" &&

 

mkdir -p "${FRAMEWORK}/Versions/A/Headers" &&

 

mkdir -p "${FRAMEWORK}/Versions/A/Resources" &&

 

 

 

# Generate universal binary for the device and simulator.

 

lipo "${SIMULATOR_LIBRARY_PATH}" "${DEVICE_LIBRARY_PATH}" -create -output "${UNIVERSAL_LIBRARY_PATH}" &&

 

 

 

# Move files to appropriate locations in framework paths.

 

cp "${UNIVERSAL_LIBRARY_PATH}" "${FRAMEWORK}/Versions/A" &&

 

ln -s "A" "${FRAMEWORK}/Versions/Current" &&

 

ln -s "Versions/Current/Headers" "${FRAMEWORK}/Headers" &&

 

ln -s "Versions/Current/Resources" "${FRAMEWORK}/Resources" &&

 

ln -s "Versions/Current/${PRODUCT_NAME}" "${FRAMEWORK}/${PRODUCT_NAME}"

 

 

 

 

 

 

13、     点击右下角的Add Build Phase,选择Add Copy Files。在Destination选项中选择Absolute Path,在Subpath路径加载路径:${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal/${PRODUCT_NAME}.framework/Versions/A/Headers

 

 

 

 

 

 

14、     点击“+按钮”,加载你要封装的.h文件

 

 

 

 

 

 

 

 

 

 

 

15、     选择Taget: HelloWorld进行编译

 

 

 

 

 

 

16、     然后选择libhello_world.a文件,右键选择Show in FinderDebug-iphoneuniversal就是生成的framework

 

 

 

 

 

 

17、     如果Headers文件夹里面为空,则把你封装的.h文件复制到里面,之后就可以在你的程序中使用了。

 

18、     至此framework制作完成,效果图:

 

 

 


另一篇文章的介绍:

http://blog.163.com/const_yixinyiyi/blog/static/180088172201211113333882/

本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2012/04/21/2461481.html,如需转载请自行联系原作者

相关文章
|
开发工具 iOS开发 Perl
Xcode10再坑之framework not found CoreServices for architecture armv7
1、前言 前段时间,升级了 Xcode10 后,提供给第三方用户的SDK,客户反馈说报错: ld: framework not found CoreServices for architecture armv7 为什么 iOS SDK 拖入项目中就报错"ld: framework not fou...
4629 0
|
iOS开发
Xcode8报错:**Framework not found IOSurface for architecture arm64** 或者 **Framework not found FilePr...
Xcode8 编译报错: Framework not found IOSurface for architecture arm64 或者Framework not found FileProvider for architecture x86_64/arm64. 原因 IOSurface.framework和 FileProvider.framework是 iOS11 新增加的库,但 Xcode8下没有这个库。
1516 0
|
开发工具 iOS开发
xcode中嵌入framework(接入快用最新SDK遇到的问题)
但xcode设置中并没有找到Embed Frameworks这个选项,使用以下方式添加 当遇到dyld: Library not loaded:xxxx  Reason: image not found 时,将添加的framework改为optional     -----...
1638 0
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
|
8月前
|
iOS开发
iOS Xcode 意外退出 打不开工程
iOS Xcode 意外退出 打不开工程
110 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...
129 0
|
6月前
|
iOS开发 开发者
Xcode7.2真机调试iOS 9.3的设备
Xcode7.2真机调试iOS 9.3的设备
110 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需求