xcode 静态库资源文件及xib封装
目前有个需求,需要把.xib封装到静态库中,试了很多种方法都不行,最后看到这篇文章 ,它是从 iOS Library With Resources 翻译过来的,图片没有显示(原文有)。
这里主要是把静态库种的.xib封装到bundle中,然后把静态库内链到工程中。
以下是这篇文章主要流程:
1 添加资源Bundle Target
资源必须是单独编译成Bundle才能使用,所以需要为MyLibrary(静态库target)项目生成另一个Bundle Target
选择MyLibrary(静态库target)项目,在右边面板中点Add Target->MAC OS X->FRAMEWORK &LIBRARY->Bundle
需要说明,bundle项目只有MAC OS X里才有,但实际上也是可以用于IOS的,只是需要做些改动,即下面的第2步.
2 修改资源bundle target
把bundle target修改成ios能用的,看图
Build Settings设置
1)Architectures为Standard (armv7)
2)Build Active Architecture Only 为指定的IOS版本
3 添加 XIB的输出
设置XIB为输出到BUNDLE,这一步相当于VS c#开发里把某个图片设置编译动作为嵌入资源.
选择Mylibrary(静态库target)项目,targets选择MyLibraryResources(静态库资源target),Build Phases面板
Copy Bundle Resources点+选择xib文件
4 关联静态库引用
把主程序和静态库做关联,这样省得每次要手动添加静态库的.a文件
要说明下:我原本以为编译主程序会自动编译静态库,实际上做的并没有那么好,我改动了静态库的XIB内容,但编译主程序后发现内容还是上次的,所以我每次都是clean build.
编辑Scheme(菜单Product->Edit Scheme)
选择Build
点+,选择MyLibrary(静态库target)和MylibraryResources(静态库资源target)项目
这样的话,每次build都可以编译多个target和scheme。
5 最后设置主程序项目
选择MyLibraryResource(静态库资源target)项目在Build Settings面板里
设置User Header Search Paths为$(BUILT_PRODUCTS_DIR),注意建议把Recursive勾上(递归搜索)
6 使用
选择要使用静态库的工程,target->build phases->copy bundle resources,点击"+",add other 添加MylibraryResources.bundle,一般在build->release-iphoneos目录。
重写controller的init
ResourcesBundle=资源文件bundle
- (id)init
{
NSBundle *bundle = [NSBundle bundleWithURL:[[NSBundlemainBundle] URLForResource:ResourcesBundlewithExtension:@"bundle"]];
if ((self = [super initWithNibName:[NSStringstringWithUTF8String:object_getClassName(self)] bundle:bundle]))
{
//code
}
return self;
}
关于xib中的图片
如果xib中有图片,可能会报以下的警告,然后图片显示不成功。
Could not load the image 'xxx.png' referenced from a nib in the bundle with identifier "com.xxx.xxx"
解决方法:
手动指定xib中的图片
相关推荐
这里主要是把静态库种的.xib封装到bundle中,然后把静态库内链到工程中。
这是一个xcode静态库编译方法的文档 欢迎大家下载
网上很多静态库制作教程,但都只是打包方法,没有讲述如何打包资源文件(xib,图片等)的教程。我结合老外写的一边文章,制作出了包含资源文件的静态库,简单写了一边制作流程,分享给大家。有什么问题,请留言,...
AddJackTemplates - xcode定制文件模板,UIView绑定xib一键生成,统一头文件标题样式
xcode 制作静态库参考教程.ios初级教程参考.
Xcode6.1创建仅xib文件无storyboard的hello world应用
iOS-Xcode制作静态库http://blog.csdn.net/wuming22222/article/details/43969455的示例代码文件.
xib2Storyboard - 将Xcode .xib转换为.storyboard文件的工具
Xcode生成动态库和静态库的方法,亲测可用,最后有将模拟仿真结果与真机测试结果合成的代码,合并后,放入工程目录,测试使用完全没有问题
如题所示,ios端的离线打包h5+工程及xcode11.4打包导出ipa文件。 离线打包分为三部分: 1. 下载离线打包资源 2. 配置离线打包工程(证书、文件、图标、app名字等) 3. 配置模块(例如Geolocation、push模块等) ...
XCode极速打包脚本build能够快速打包iOS工程,无需编译的时间等待,解决了iOS项目打包ipa文件的漫长等待时间问题。.gitignoreadd2xcocoapods-buildipa-buildipa-publishipa-publish-firlib-buildREADME....
Xcode 3.2.6下将静态库源代码导入项目
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 ios11.4 配置文件 ,放入路径/应用程序/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/就可以支持11.4的系统进行编译
PackageApplication Xcode命令行打包库 PackageApplication Xcode命令行打包库
我这个文档的静态库的开发是基于Xcode4.2和iOS SDK5.0编写的。Xcode4跟之前的Xcode3还是有不少的差别的。下面就简单写一个静态库和一个调用静态库的例子。静态库的编写:1.静态库工程的建立: Xcode New一个新的...
iOS 自动化打包脚本,并上传*ipa*文件至蒲公英。参数说明: ``` Usage: autobuild.py [options] Options: -h, --help show this help message and exit -w name.xcworkspace, --workspace=name.xcworkspace ...
XCODE代码去重复文件,运行代码后找大文件并删除。 查找之后会有个别问题,慎重
xcode 设备支持 15.0文件
适用于iOS开发h264解码,在Xcode7环境下完美运行。包含了armv7,armv7s,arm64,i386,x86_64五个.a的合并,当前情况下所有模拟器和真机都适用(真机测试为4s和6) 折腾了三天弄好的,希望可以帮到有需要解码h264的朋友...