xcode7 怎么导入bundle文件

xcode7 怎么导入bundle文件,第1张

但是当你的模块中需要大量使用xib,图片,音频或者其他资源文件时,无法添加至静态库。这个时候就需要将一些资源文件封装至.Bundle文件中。那么封装好的东西应该含有三类文件:

1:开放的头文件(包含完整的调用注释)

2:静态库文件 后缀名为.a

3:Bundle文件,用于存放各种资源文件。

那么其他的都很简单:这里具体说说bundle文件的封装(其实也很简单)

第一步:创建Bundle项目

选择Bundle文件类型后并创建项目。

第二步:修改BuildSetting相关设置

1:Base SDK 修改为 iOS6 或者其他存在的iOS SDK版本

2:Architectures 修改为 armv7 armv7s

第三步:添加需要添加的资源文件

第四步:Build (这里不需要使用证书也可以编译成功)

这样就生成了自己的Bundle

调用的时候助需要引用至项目中就行。

如果想要将在某个非mainBundle的地方调用。那么需要额外加载此Bundle

NSBundle *buddle = [NSBundlebundleWithPath:@“你的bundle文件存放路径”]

[buddle load]//这一步必须执行,否则buddle无效

这样你就可以将这个bundle放在任意路径调用了

这个问题主要是因为老项目不是用Xcode9创建的,然后Xcode9出来之后我们升级到了Xcode9,但是打开项目Assets.xcassets,里面的AppIcon并没有"App Store iOS 1024pt"这个item,另外如果使用的是LaunchImage而不是LunchScreen作为启动图的话,LaunchImage里面也不会有"iPhone X Portrait iOS11+"这个item,所以我们就需要添加。

③更改Contents.json文件内容,按照对应格式添加即可:

AppIcon需要添加的内容:

LaunchImage需要添加的内容:

注意:

1>filename这个字段的名字一定要跟你的图片资源的名字相匹配,是图片名字的全称包括后缀名,也包括@2x或者@3x。

2>添加这段内容要注意前后的格式,如果你是添加在这个"images"这个数组的最后一个元素,那么与上一个元素之间就需要用","隔开;如果是中间添加那么就需要在前后都需要加","隔开,保持格式一致。

④把对应的图片资源拖到Contents.json文件同级目录下即可。然后刷新下AppIcon和LaunchImage就能看到对应的item了。

注意:

以上添加完之后还是要用Xcode9来打包,如果用Xcode8打包的话,会将原来指定的Icon或者LauchImage图片变成unsigned,所以还是要用Xcode9打包!

如果有任何其他问题,评论区里面留言,以上!!!

1、A copy的名称是不是显得不够专业?现在来修改一下:

1)首先修改Xcode左上角的target名称:

点击xcode左上角Run、Stop右边的工程名称,下拉框中选择Manage Schemes,在d出框中,点击A copy那行,点击一次、再点击一次,就可以修改A copy为你想要的名字了,比如ALite;

2)修改xcode左下方Products下的A copy.app名称:

点击Targets下你刚才改名后的ALite,点击Bulid Setting,搜索Packaging下的Private Headers Folder Path,修改A copy.app/PrivateHeaders为:ALite.app/PrivateHeaders;

2、修改Bundle Identifier和选择不同的证书,让app区分开来

1)新target需要的.plist文件

新建一个文件夹X,添加X到项目中,添加时选择target为ALite,不要选target A了,因为不是共用的;复制原来target的A-Info.plist到X,修改其名称为ALite-Info.plist,xcode中右键Add File To ...,选择添加到target ALite中;

2)点击target: ALite ->Summary:提示你需要选择plist文件,选择1)中添加的ALite-Info.plist;

3)点击target: ALite ->Summary:设置Bundle Idenfitier;

4)点击target: ALite->Build Settings->Code Signing:选择另外的证书;

3、修改程序名称

一般说来,多个target的程序名称不同,复制zh-Hans.lproj和en.lproj下的InfoPlist.strings文件到X,xcode中右键Add File To ...,选择添加到target ALite中;然后修改InfoPlist.strings的内容:CFBundleDisplayName="程序名称Lite"

4、2个target到现在就创建好了,你添加资源文件的时候,通过选择添加的target来控制不同版本的内容;再说一下预编译宏的事情:target->Build Setting,搜索:Preprocessor Macros,设置Debug和Release里的预编译宏内容,比如TARGET_VERSION_LITE=1表示lite版本(注意=前后不能右空格,有空格会编译不过),程序中对不同版本这样判断:

#if TARGET_VERSION_LITE ==1

...

#elif TARGET_VERSION_LITE ==2

...

#endif


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11272590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存