• iOS自动化打包上传的踩坑记


    http://www.cocoachina.com/ios/20160624/16811.html

    很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDeveloper账号可以给我用, 到了真的要搞自动打包的时候, 才发现到处都是坑。

    基本命令

    1. xcedebuild: 生成Archive、导出ipa, 还有其它功能…

    2. xcrun: 把*.app打包成ipa, 还有其它功能…

    基本使用

    一. xcedebuild打包Archive文件

    1
    xcedebuild -workspace ${path to *.xcworkspace} -scheme ${scheme} -destination generic/platform=iOS archive -configuration Release ONLY_ACTIVE_ARCH=NO -archivePath ${export path *.arichive}
    • -workspace 你的*.xcworkspace文件

    • -scheme 项目文件里面的scheme

    • -archivePath 生成的*.arichive文件路径

    二. xcedebuild*.archive导出ipa

    1
    xcedebuild -exportArchive -exportFormat IPA -archivePath ${path to *.archive} -exportPath ${export path *.ipa} -exportProvisioningProfile ${ProvisioningProfileName}
    • -archivePath 你的*.archive文件, 可以使用上一个命令导出

    • -exportPath 导出的ipa路径

    • exportProvisioningProfile 你的Distribution发布证书的名称(只需要名称)

    三. xcrun打包ipa

    "xcrun -sdk iphoneos PackageApplication -v ${path to *.app} -o ${package path *.ipa}"
    • -v 你的*.app文件, 生成的*.archive里面有

    • -o 打包生成的*.ipa文件路径, 注意!!!这里是不能填相对路径, 因为这里的路径环境变量不是当前执行命令的路径了

    踩坑

    坑一

    使用第一个命令前, 需要确保你的项目的签名配置好, 证书下好最新的

    坑二

    第二个命令的-exportProvisioningProfile填的只是你的发布证书的名称, 不是那一串id

    坑三

    第二个命令打包出来的*.ipa不能用来上传到AppStore, 一直报CocoaPods里面的第三方库签名错误

    坑四

    打包出来的*.ipa需要上传到AppSotre的话, 可以使用第三个命令, xcrun那一个

    坑五

    使用第三个命令打包出来的*.ipa, 上传到AppStore之后, 登录到iTunes Connect-APP-所有构建版本查看到上传的*.ipa正在构建。但是过了一会儿, AppleDeveloper账号的邮箱就会收到一封报错的邮件, 大概是说你的*.ipa包里面, 缺少了一个SwiftSupport文件夹

    经过各种搜索之后, 原来需要把xcrun打包出来的*.ipa解压, 然后新建一个文件夹, *.archive里面的SwiftSupport文件夹copy进去, 还有把ipa解压出来的move进入, 最后打个zip包, 再改成ipa后缀就可以上传到AppStore了(应该吧, 还没测试????)

    番外篇

    在踩到了第五个坑之后, 在github发现了一个iOS的打包、发布库…
    上地址: https://github.com/nomad/shenzhen
    懒得自己搞的可以使用这个库, 感觉还是挺不错的

    原文地址: iOS自动化打包上传的踩坑记

  • 相关阅读:
    android 单位详解
    ViewFlipper的使用
    today is history,today is tomorrow
    Android2.1 和之后的版本 中的 drawable(hdpi,ldpi,mdpi) 的区别
    auto_ptr
    android编写Service入门
    Android程序完全退出的三种方法
    Android中Toast的用法简介
    安装android开发环境
    error C2850: 'PCH header file'
  • 原文地址:https://www.cnblogs.com/itlover2013/p/5614195.html
Copyright © 2020-2023  润新知