1.新建一个WorkSpace:MyWorkSpace保存到MyWorkSpace文件夹下
2.在此工作空间下新建一个项目:在project navigator 右键菜单 New Project:MyProj
4.在项目MyProj下新建一个静态库:在project navigator 右键菜单 New Project-》Framework & Library > Cocoa Touch Static Library:MyStaticLib1 (建立时选择Add to:MyWorkSpace Group:MyProj)
3.在此工作空间下新建一个静态库:在project navigator 右键菜单 New Project-》Framework & Library > Cocoa Touch Static Library:MyStaticLib2(建立时选择Add to:MyWorkSpace Group:MyWorkSpace)
(注意:MyStaticLib1是建立在MyProj下,而MyStaticLib2是建立在MyWorkSpace 下)
xcode下的目录结构是:
-MyProj
-MyStaticLib1
-MyStaticLib1
-MyStaticLib1Tests
-Frameworks
-Products
-MyProj
-MyProjTests
-Frameworks
-Products
-MyStaticLib2
-MyStaticLib2
-MyStaticLib2Tests
-Frameworks
-Products此时文件系统下的目录结构是:
-MyWorkSpace
-MyProj
-MyStaticLib1
-MyStaticLib2
-MyWorkSpace.xcworkspace
4.为项目添加静态库:
选中MyProj,打开 Build Phases配置选项 然后展开 Link Binary With Libraries ,点击 + 会看到 Workspace > MyStaticLib1.a,MyStaticLib2,添加这两个.a库
5.设置头文件搜索目录:
选中MyProj,打开 Build Settings配置选项 ,找到Search Paths 下的User Header Search ,点击 + 会添加$(BUILT_PRODUCTS_DIR)/include/MyStaticLib1 recursive
$(BUILT_PRODUCTS_DIR)/include/MyStaticLib2 recursive
这里需要补充一下的是为什么这个路径?
打开organizer 选中工作空间MyWorkSpace点击Derived Data进入到编译的文件夹可以发现文件结构:
-MyWorkSpace-hh..................
-scm.plish
-Logs
-build
-Products
-Debug-iphonesimulator
-libStaticLib1.a
-MyProj.app.dSYM
-MyProj.app
-inculude
-MyStaticLib1
MyStaticLib1.h
-MyStaticLib2
MyStaticLib2.h
...............................................................
$(BUILT_PRODUCTS_DIR):编译后的产品路径
头文件搜索路径也可以设置为$(BUILT_PRODUCTS_DIR)/include/ recursive
non-recursive:只搜索此文件夹下的文件
recursive:递归搜索此文件夹下的文件,即不但搜索此文件夹,还搜索子文件夹
6.在静态库里每次新建一个.h .m文件都要设置为公开,这样项目才可以在第5步的include/staticLib下发现这个头文件
选中静态库项目staticLib, Build Phases->Copy Files 点击+选中新建的 .h文件
7.如果在静态库中新建了类目文件,还得设置项目的Other Linker Flags 中-ObjC
8.也可以将MyStaticLib2 的Build Settings的Per-configuration Build Products Path设置成$PROJECT_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME),这样MyStaticLib2编译后的.a库就放在$PROJECT_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)路径下,然后在MyProj的Build Settings的Other Linker Flags 添加-force_load $(SRCROOT)/MyStaticLib1/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libMyStaticLib1.a,这样就不用在MyProj里添加MyStaticLib1的静态库了,这样就可以加载是真机还是模拟器的.a库了
Build Phases 下的Target Dependencies只是说在编译项目之前先编译哪些库
相关推荐
xcode 10 真机缺少的lib····
在Xcode10之前的版本里C/C++动态库里使用的都是libstdc++/libstdc++.6/libstdc++.6.0.9动态链接库 ,而在Xcode10,ios12后,为了更好的解决C++ 11产生的问题,将libstdc++/libstdc++.6/libstdc++.6.0.9移除了,全部...
iOS 开发工具Xcode6中没有了空工程模板这一选项了,现在共享一个代码工具按照里面的提示就可以给Xcode6增加空工程模板了
xcode6以后的版本都不支持创建空工程,每次手动改成空工程,效率比较低。现在有个插件下载下来直接放到路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/...
让cocos2dx支持并通过arm64 编译
苹果官方iOS 开发工具2013.9.29 最新版本 Xcode 5, 该资源为网盘下载地址, 速度很快 !
Beginning XCode5 2014
逐项介绍xcode工程,是开始进行iphone及ipad开发的新手的必读之书!
Xcode6.0 以上版本中没有创建空工程的模板,为了方便我们程序猿操作,在此提供了Xcode6 的空工程模板,简单操作,我们就可以实现在Xcode6 中创建空工程了。 用终端打开我们的Xcode.app 然后打开Xcode.app/Contents/...
ffmpeg 2.3.1 在xcode 5 下面的静态库编译 1. 解压本压给包 2. 将解压后的 build-ffmpeg.sh ffmpeg-2.3.1.tar.bz2 拷备到os的一个目录, 如:xxx/ffmpeg 3. 修改 build-ffmpeg.sh权限, chmod 777 build-ffmpeg.sh...
xcode 5 和 Mac osx 10.9 下载
Xcode5免证书安装,有生成ipa说明。测试 ios 7可用。
Xcode添加空工程模板(内含步骤 模板)安装步骤非常详细
直接用xcode 5+打开 最简单的app
RecordingTranscoding Xcode iOS 工程,支持音频录制,转码和播放
Xcode6 空工程/项目模板 内有使用说明~ 也可访问http://www.cnblogs.com/jinke5245/p/4149299.html
Appium是个新东西,支持原生的APP自动化测试,基于Android和iOS提供的SDK,最近apple发布了最新的Xcode,今天不小心更新了,再次使用appium的inspector时各种报错,于是一步步的进行修改源码。 由于Xcode6修改了...
xcode7 空工程Empty-Application
Unity导出的Xcode工程合并到现有的Xcode项目实现AR流程及合并中遇到的各种问题解决方法,附demo下载地址