在简单的app中,可能只会用到工程,可是项目越大,越复杂,就会须要拆分项目,将各个功能拆散到各个工程中。 xcode
能够使用worksapce来管理工程集合。 app
可是资源文件却很差管理,由于xcode默认只能添加本身工程内,或者子工程的资源文件到target中。 ui
若是是平级的工程,怎么添加呢?能够使用bundle this
bundle虽然是os x中的资源类型,可是是兼容iOS的 spa
咱们能够先建立一个os x的bundle,而后修改其编译类型为iOS的 code
调整base sdk便可 ip
而后添加资源文件(png,xib,storyboard等)到此bundle中。 资源
虽然资源文件打包到了bundle中,可是此bundle没法加入到其余工程编译的target中 get
咱们须要修改scheme it
Edit Scheme-》Build-》Add this bundle
这样在编译其余target的时候就会自动编译此bundle了,可是这个bundle却不会打包到app中
咱们还须要添加run script到build parses中
build parses-》add run script(点+号)
cp -R -f $BUILT_PRODUCTS_DIR/MyBundleName.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/
若是有多个bundle
cp -R -f $BUILT_PRODUCTS_DIR/*.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/
这样bundle就能够正常打包到app中了
在使用的时候须要指定bundle
[UIImage imageNamed:@"yourbundlefile.bundle/imageInBundle"];