`
dcj3sjt126com
  • 浏览: 1871348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IOS行货自动打包

    博客分类:
  • IOS
阅读更多

通常打包采用xcodebuild和xcrun两个命令,xcodebuild负责编译,xcrun负责将app打成ipa。

 
常见步骤如下:
1、清理工程
/usr/bin/xcodebuild -target targetName clean
 
2、编译工程
/usr/bin/xcodebuild -target targetName

3、打包

/usr/bin/xcrun -sdk iphoneos PackageApplication -v path/To/xxx.app -o xxx.ipa

 如果是含签名的包,上面两个命令需要增加一些参数。

xcodebuild -target targetName CODE_SIGN_IDENTITY="iPhone Distribution:XXXXXX"
xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 --sign "iPhone Distribution:XXXXXX"


自动打包步骤:

1、先用xocde手动编译好一个App,假设为MyApp.app
 
2、导入证书文件到MAC的钥匙链
//创建钥匙链
security create-keychain -p myapp myapp.keychain
//解锁,否则回弹框等待输入密码
security unlock-keychain -p myapp myapp.keychain
//导入证书
security import /opt/myapp.p12 -k myapp.keychain -P mypassword -T /usr/bin/codesign

3、以MyApp.app为模板,copy一个备份,然后进行各种资源的替换,比如替换了应用的图片文件等

4、替换对应的*.mobileprovision文件到MyApp.app目录

5、删除MyApp.app下的签名信息_CodeSignature

6、修改info.plist Bundle indentifier和*.mobileprovision一致

7、修改MyApp.xcent中application-identifiervalue值为对应证书名称,可以以一个xcent为模板,注意如果没有aps-environment关键字,打出来的ipa包将没有apns模块,格式如下:
 
复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>application-identifier</key>
        <string>Z4LR7CBRUD.com.yesun.vic</string>
        <key>aps-environment</key>
        <string>production</string>
        <key>get-task-allow</key>
        <false/>
</dict>
</plist>
复制代码

8、重签名codesign

/usr/bin/codesign --force --sign 9c8b212f6a2c2382847b104e387a01b246d4ce42 --resource-rules=MyApp.app/ResourceRules.plist --entitlements MyApp.xcent Mkey3G.app

9、生成ipa包

/usr/bin/xcrun -sdk iphoneos  PackageApplication -v MyApp.app -o MyApp.ipa  --sign  9c8b212f6a2c2382847b104e387a01b246d4ce42 --embed MyApp.app/embed.mobileprovision

10、删除钥匙链

security delete-keychain myapp.keychain

 

带xcodebuild编译的打包步骤如下:
  1. 导入钥匙链
  2. 对工程clean
  3. 修改info信息
  4. 修改project信息
  5. xcodebuild
  6. 替换各种资源文件
  7. 修改xcent
  8. 重新签名codesign
  9. xcrun打ipa
  10. 删除钥匙链
分享到:
评论

相关推荐

    swift-AutoPackage-iOS项目自动打包脚本

    Swift-AutoPackage-iOS项目自动打包脚本是一个用于简化iOS应用程序打包流程的工具,它能够自动化处理构建、签名和导出IPA等繁琐任务。在Swift开发中,特别是涉及到ARKit增强现实技术的项目,手动打包过程可能会变得...

    iOS自动打包脚本

    命令行进入项目根目录直接执行 sh build.sh即可在桌面生成ipa安装包 #注意:使用本脚本上传到fir.im需要满足以下环境:一. ruby版本&gt;1.9.3 (查看当前ruby版本 ruby -v) 二. ruby安装完毕,安装fir.im命令行插件 (gem ...

    iOS工程自动打包脚本ipa-build.zip

    iOS工程自动打包脚本:ipa-build。集成xcodebuild和xcrun来编译打包xcode工程。 使用方法: ipa-build &lt;project directory&gt; [-c ] [-o ] [-n]c 命令行参数: -c NAME the configuration of project used to ...

    ios自动化打包脚本

    ### iOS自动化打包脚本知识点详解 #### 一、概述 在iOS开发过程中,为了提高工作效率并减少人工干预可能带来的错误,通常会采用自动化工具来进行应用的构建与发布工作。其中,“iOS自动化打包脚本”是一种非常实用...

    ios自动化批量打包

    ### iOS自动化批量打包知识点 #### 一、背景与需求分析 在进行轻度定制化iOS应用开发时,经常需要根据客户或场景的不同调整应用程序图标(appIcon)、启动页(launchImage)、应用程序名称以及内部功能等内容。...

    Node.js-一个使用node写的iOS自动打包的脚本并可以选择上传到蒲公英

    标题“Node.js-一个使用node写的iOS自动打包的脚本并可以选择上传到蒲公英”揭示了这个项目的核心内容,它是一个基于Node.js的脚本,用于自动化iOS应用的打包过程,并且具备将打包后的ipa文件上传至蒲公英(一个第三...

    基于Python的iOS自动打包工具

    "基于Python的iOS自动打包工具"就是这样一个解决方案,它旨在帮助开发者实现iOS应用的自动化打包流程,从而将开发者从重复的手动操作中解脱出来,让他们有更多的时间专注于应用的核心功能和创新。 Python作为一门...

    unity ios自动打包脚本

    unity ios自动打包脚本,用python实现,支持xcode新旧版本

    iOS自动打包上传蒲公英或fir

    "iOS自动打包上传蒲公英或fir"这个主题聚焦于如何利用自动化工具,如Python和Shell脚本,来简化iOS应用的打包和分发过程。自动打包可以极大地提高工作效率,减少手动操作的错误,使得开发者能够快速迭代并测试他们的...

    HBuilderX申请iOS证书在线打包iOS文档.docx

    2. 选择iOS打包,支持的设备类型(可以选择支持iPhone和支持iPad),选择使用苹果证书。 3. 输入App ID(Bundle ID),选择上传配置文件(.mobileprovision)和私钥证书(.p12),输入私钥密码。 4. 点击打包,...

    iOS自动打包脚本,具有打包、重签名、自动上传及发邮件功能.zip

    标题中的"iOS自动打包脚本,具有打包、重签名、自动上传及发邮件功能.zip"表明这是一个用于自动化iOS应用打包流程的工具,它能帮助开发者节省时间,减少手动操作的错误。这个压缩包文件名为"IOSAutoPackaging-master...

    iOS项目自动打包脚本Ipapy.zip

    Ipapy 是 iOS项目自动打包脚本1.脚本自动打包2.上传到fir.im3.发送邮件给测试人员需要安装的相关指令软件:1.python 2.72.xcode3.fir.im指令使用方法:1.安装xcode2.安装fir.im的指令,安装方法见 ...

    IOS 自动打包脚本

    在iOS开发过程中,自动化打包是一项能显著提升效率的工作流程。标题提到的“iOS自动打包脚本”是一个用于简化iOS应用构建、签名和导出IPA文件的自动化工具。这个脚本通常由开发者编写,以实现一键化的编译和打包过程...

    swift-PythoniOS自动打包脚本(包含上传到fir)

    这个名为"swift-PythoniOS自动打包脚本(包含上传到fir)"的项目,是针对iOS开发者设计的一个自动化工具,它利用Python脚本来实现iOS应用的自动构建,并通过FIR(Fast Integration and Release)平台进行快速发布。...

    Python-Python实现iOS自动化打包

    在IT行业中,自动化打包是提高效率、减少人工错误的关键步骤,尤其在iOS应用开发中。本文将深入探讨如何使用Python来实现iOS应用的自动化打包流程。Python作为一种强大的脚本语言,因其灵活性和丰富的库支持,成为了...

    基于Python开发ios自动化打包脚本包括打包、重签名、自动上传及发邮件功能等+源码+开发文档(毕业设计&课程设计&项目开发)

    基于Python开发ios自动化打包脚本包括打包、重签名、自动上传及发邮件功能等+源码+开发文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于Python开发ios...

    swift-iOS自动打包

    在iOS开发过程中,"swift-iOS自动打包"是一项重要的任务,它可以帮助开发者高效地管理和发布应用。自动打包意味着通过自动化脚本或者工具,无需手动干预就能完成应用的编译、签名、配置和导出,极大地提高了工作效率...

    基于launchctl+fastlane的iOS定时自动打包任务.zip

    基于launchctl+fastlane的iOS定时自动打包任务

    iOS xcode自动打包上传appstroe脚本代码

    iOS xcode自动打包上传appstroe脚本代码,只需要配置开发者账号密码,证书名称

Global site tag (gtag.js) - Google Analytics