
正文
ios开发打包流程,ios开发ipa打包
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
iOS 静态库和动态库打包framework流程(纯swift版/swift、OC混编版)
选择 iOS -- FrameworkLibrary , 点击 next
如果打包文件中使用了第三方库,建议pod管理,并告知用户使用pod安装,避免用户重复导入。跟平时开发逻辑一样,打开 .xcworkspace 工程。
操作完之后工程目录显示
把打包需要的文件添加到项目中。 如果想要这个类或类里面的方法被外面使用,需要配合pubic修饰供外面使用
由于以上获取的framework只能在对应的版本上运行(即真机只能在设备上运行模拟器版本只能在模拟器上面运行使用),所以需要合并framework版本。
合并framework版本:
sudo lipo -create (此处请填写真机AppVest文件路径) (此处填写模拟器AILLSDK文件路径) -output 自定义合成文件存储路径(合成文件的名字AILLSDK)
因为真机版本和模拟器版本的framework都存在arm64架构,导致架构重复,不出意外,会提示合并失败。如下
处理合并失败的问题
最后,将 XX.framework(真机或者模拟器framework都可)文件夹 拷贝出来,替换AILLSDK(本文使用的)为刚才合并的新文件。
查看替换后的framework支持全部真机模拟器架构。
我在合并binary文件之后,仅拷贝出 Release-iphoneos 文件夹下的 XXX.framework ,并替换掉AILLSDK二进制文件。导入项目中使用模拟器运行,报错,显示找不到架构。
解决方案
拷贝所有的modules到
再替换掉AILLSDK二进制文件,导入项目,如果framework中内含第三方库,需要在所在的工程中使用pod加载,否则会提示编译失败。
至此,编译成功。?????
不管是在framework封装的内部,内部swift类调用内部的OC类,还是内部的OC类使用内部的swift类,还是外部工程swift类使用framework内部OC类,还是外部工程OC类使用framework内部swift类。原理是一致的,以下来介绍下:
在 AILLSDK.h(你自己创建framework时候生成的.h文件) 中添加import导入
#import AILLSDK/OC类名.h
在oc的 .m 或 .h 文件中,导入 #import AILLSDK/AILLSDK-Swift.h , 也就是 你自己framework名-Swift.h
相关问答
Q1: iOS打包ipa方法(.app->.ipa)
注意: itunes里的“我的应用程序”是指电脑上的程序,不要求联机,可以把里面的app删除
不用打开XCODE编译运行即可实现打包
Xcode菜单栏-Product-Archive-三选一,一般选后两个。
局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦。一般多人开发时都是采用provisioning profile+P12文件来进行真机调试。上述方法在最后导出ipa包时需要输入appleID,这时还要向团队的其他人要。采用provisioning profile+P12真机调试的方式不要求开发者知道appleID以及密码,密码一般放在leader那里;
在xcode编译产生出.app包的基础上进行进一步处理,通过简单的压缩以及改后缀名即可实现ipa打包。
两种实现方式:脚本自动处理(推荐,一劳永逸)、手动处理。
Step1: 新建文件夹,命名为“distribute”,在其中新建distribute.sh脚本文件,内容为:(注意:下面所有appName都是你项目真正的名称)
Step2: 将要转化的.app文件放到distribute/文件夹下,目录结构为:
此时可能会提示 permission denied
执行 "chmod 777 distribute.sh"命令赋予权限
再执行一次distribute.sh,显示以下进度,完成。
Step1: 新建“Payload”文件夹,注意名字要一字不差;
Step2: 将你的.app包放到Payload中,注意app的名字不做任何更改,就用xcode生成的app名称;
Step3: 在Payload文件夹上右键压缩成zip,然后将生成的.zip文件后缀改成.ipa即可
Q2: 【iOS开发】打包成ipa的方法
blockquote
一、Xcode-archive(苹果推荐方式) --- (推荐)
二、iTunes拖入
三、全自动编译脚本 --- (推荐)
四、通过已有.app,编译脚本自动生成ipa包
五、通过已有.app,手动压缩改后缀方式
/blockquote
/br
blockquote
** 一、Xcode-archive(苹果推荐方式)(推荐)**
/blockquote
blockquote
** 二、iTunes拖入**
/blockquote
blockquote
三、全自动编译脚本
/blockquote
blockquote
四、通过已有.app,编译脚本自动生成ipa包
/blockquote
5.将要转化的.app文件放到distribute/文件夹下
这时的文件夹目录结构是这样的:(注意,脚本中所有appName请先替换成你的真正app名称)
6: 运行distribute.sh脚本
打开Terminal,cd到distribute文件夹下,把distribute.sh拉到terminal中执行。如果提示permission denied,则用“chmod 777 distribute.sh”命令赋予权限后,再执行一次distribute.sh。
7: 大约若干秒后,会在distribute/文件夹下生成appName/文件夹,里面的appName.ipa就是我们想要的包。
blockquote
** 五、通过已有.app,手动压缩改后缀方式**
/blockquote
br /
参考资料:
——————————— 【 MadeBy 纪宝宝 】 ———————————






