美文网首页
打包.a文件(代码区-功能区)和.bundle文件(资源文件和x

打包.a文件(代码区-功能区)和.bundle文件(资源文件和x

作者: 狐冰 | 来源:发表于2019-03-27 15:33 被阅读0次

ps:以网上的一个仿微信小视频的代码块为基础做的,具体地址给忘记了,找了一圈也没找到。

一、首先是打包.a文件,也就是纯代码的那一块(代码区-功能区)   注意:xib得打包成bundle文件里面去,不要导入到这边来

1.创建一个Static Library

创建

2.导入代码模块,或者创建编写代码模块

导入代码块

3.设置它的一些配置属性

兼容最低系统版本 兼容最低系统版本1 设置可编译 设置开放类文件

4.bulid之前设置release

设置好release版本

5.切换真机和模拟器都跑一遍,生成两个.a文件(看需求,笔者这边只需要真机的就行,就没处理模拟器的了)

需要兼容模拟器和真机的需要再进行一步合并操作:

模拟器路径:

/Users/xxx/Library/Developer/Xcode/DerivedData/XFCamera-glhzhzqypfcnbqblivtyxfnzuqbb/Build/Products/Release-iphonesimulator/xxx.a

真机路径:

/Users/xxx/Library/Developer/Xcode/DerivedData/XFCamera-glhzhzqypfcnbqblivtyxfnzuqbb/Build/Products/Release-iphoneos/xxx.a

终端操作合并:

lipo -create /Users/xxx/Library/Developer/Xcode/DerivedData/XFCamera-glhzhzqypfcnbqblivtyxfnzuqbb/Build/Products/Release-iphonesimulator/xxx.a /Users/xxx/Library/Developer/Xcode/DerivedData/XFCamera-glhzhzqypfcnbqblivtyxfnzuqbb/Build/Products/Release-iphoneos/xxx.a -output /Users/xxx/Desktop/xxx.a

最终生成的可兼容.a文件地址:

/Users/xxx/Desktop/xxx.a

二、打包.bundle文件

1.创建boundle工程

创建boundle工程

2.导入资源文件

3.设置配置属性

删除info文件

"Base SDK" 设置为 "iOS" (Xcode 10.1为例)

"Build Active Architecture Only" 设置为 "YES"

Installation Directiotory    删除掉后面的路径

Code Signing Identity   选择 Don't Code Sign  

"iOS Deployment Target" 设置为 iOS 8.0  (为了兼容性,最好选择最低版本)

"Skip Install" 设置为 "NO"

"Strip Debug Symbols During Copy" 中"Release"模式设置为 "YES"

"IOS Deployment Target" 设置为 "iOS 8.0"

"COMBINE_HIDPI_IMAGES" 设置为 "NO"

4.然后command+B编译一下

5.找到生成的bundle,打包上架APP的时候应使用真机模式下运行生成的Bundle,即Debug-iPhoneos 文件夹内的bundle。

ps:打包bundle详情内容请参考

写在最后:有xib和资源文件的选择先打包好bundle文件再打包.a文件比较容易记住,毕竟取资源文件的方法跟直接取有了很大的区别,当然逻辑严谨直接写的时候就已经考虑到这种情况了就随便玩。

取例:   

//xib

NSString * bundlePath = [[NSBundle mainBundle] pathForResource:@"XFResource" ofType:@"bundle"];

NSBundle* resourceBundle = [NSBundlebundleWithPath:bundlePath];

XFCameraController *cameraController = [[XFCameraController alloc] initWithNibName:@"XFCameraController" bundle:resourceBundle];

//图片

[_cancelButton setBackgroundImage:[UIImage imageNamed:@"XFResource.bundle/icon_return_n"] forState:UIControlStateNormal];

测试demo:测试demo

相关文章

  • 打包.a文件(代码区-功能区)和.bundle文件(资源文件和x

    ps:以网上的一个仿微信小视频的代码块为基础做的,具体地址给忘记了,找了一圈也没找到。 一、首先是打包.a文件,也...

  • 新建bundle文件如何把xib storyboard放进去

    最近项目需要,把直播这块的代码要打包个framwork,里面的资源文件需要打包成bundle文件 什么是Bundl...

  • iOS_Bundle资源文件包

    Bundle文件 Bundle 文件,简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成...

  • swift .bundle 的详细使用

    将资源文件打包成.bundle,减轻打包的大小。 有大量的外部文件最好放在Bundle中。 创建方式: 加载使用:...

  • iOS Bundle资源文件

    Bundle文件 资源文件包,图片,文本文件等文件进行打包方便使用。不能包含可执行文件,只能作为资源。 创建 创建...

  • Android构建过程

    编译器会讲代码编译成Dex文件,然后打包器会将资源文件和Dex文件以及签名文件打包成apk文件,最后在生成apk之...

  • iOS14开发-数据存储

    Bundle 简单理解就是资源文件包,会将许多图片、xib、文本文件组织在一起,打包成一个 Bundle 文件,这...

  • Bazel-创建静态framework

    Bazel 生成静态Framework , 并且打包一个Bundle资源文件 BUILD文件 编译 bazel b...

  • RN热更新原理之Android篇

    1.前言 我们知道RN打包后的最终APP,访问的是一个bundle文件,这个bundle文件是所有RN代码打包成的...

  • iOS 把图片资源打包成bundle

    原文iOS 把图片资源打包成bundleiOS_Bundle资源文件包 1. 创建bundle,如图,点击 + ...

网友评论

      本文标题:打包.a文件(代码区-功能区)和.bundle文件(资源文件和x

      本文链接:https://www.haomeiwen.com/subject/izezvqtx.html