iOS自动化打包上传的踩坑记
http://www.cocoachina.com/ios/20160624/16811.html
很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDeveloper账号可以给我用, 到了真的要搞自动打包的时候, 才发现到处都是坑。
基本命令
xcedebuild: 生成
Archive、导出ipa, 还有其它功能…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自动化打包上传的踩坑记
iOS自动化打包上传的踩坑记的更多相关文章
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- iOS APP打包上传到APPstore的最新步骤
一.前言: 作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事.但是很多人还是不知道该怎么上传到App Store上 下面就来详细讲解一下具体流程步骤. 二.准备: ...
- Windows环境下IOS APP打包上传AppStore详细流程
我们知道在上架苹果应用过程中,申请发布证书需要用到钥匙串,上传ipa需要用到xcode或Application loader提交构建版本,这都需要Mac苹果机. 本文介绍如何在Windows环境下申请 ...
- Xcode打包上传遇到的坑
1.安装测试包的时候提示APIInternalError ①是否增加了测试设备的UUID ②是否使用adhoc证书打包 2.打包错误:error: couldn't remove '/Users/xx ...
- 在React中使用WebUploader实现大文件分片上传的踩坑日记!
前段时间公司项目有个大文件分片上传的需求,项目是用React写的,大文件分片上传这个功能使用了WebUploader这个组件. 具体交互是: 1. 点击上传文件button后出现弹窗,弹窗内有选择文件 ...
- ios app 打包上传 app store(Application Loader)
背景:使用Xcode 上传APP, 这个 有时候很慢,构建版本需要等很长时间,所以我推荐使用Application Loader 1.使用xocd 打包,导出.ipa文件 2. OK ,跟着上面做, ...
- iOS: xcode打包上传iTunes失败,iTunes Store operation failed,this action can not complete .try again
通过xcode点击“upload to app store”上传到itunes,结果一直提示“itunes store operation failed” 原因:网速的问题,我之前也遇到过,网速好的时 ...
- iOS 打包上传AppStore相关(3)-iTunes相应配置以及使用蒲公英网站进行应用托管分发(链接/二维码)
上一篇讲到我们最终生成了一个格式为 .xcarchive 的文件(可以右键并Show in Finder)查看.本篇我们就进行最后的设置,打包上传.另外,还有一个小福利,那就是打测试包分发链接测试. ...
- iOS 打包上传AppStore相关(2)-Xcode相应配置
上一篇描述了如何在AppleDeveloper创建Certificates.App IDs和Provisioning Profiles的过程.本篇将详细描述在Xcode部分我们需要做的配置. 1.配置 ...
随机推荐
- 利用jQuery获取jsonp
前端js代码: $.ajax({ url: 'http://localhost:8080/webApp/somejsonp', dataType: "jsonp", jsonp: ...
- 第一次个人项目【词频统计】——测试样例分析&性能分析
[空文件测试](认为空文件行数为0) [基本测试] [大小写测试] 可以看出abcd同类型的词出现了三次,而单词树中存储的是ABCd,满足大小写要求. [复杂文件测试] 前三项数据比较接近,但是单词和 ...
- 2018-8-10-WPF-鼠标移动到列表上-显示列表图标
title author date CreateTime categories WPF 鼠标移动到列表上 显示列表图标 lindexi 2018-08-10 19:16:51 +0800 2018-2 ...
- idea打包可执行jar
(1)在项目上鼠标右键 --> Open Module Settings 或者点击工具栏上的 (2)Artifacts --> + --> JAR --> From modul ...
- [编织消息框架][netty源码分析]3 EventLoop 实现类SingleThreadEventLoop职责与实现
eventLoop是基于事件系统机制,主要技术由线程池同队列组成,是由生产/消费者模型设计,那么先搞清楚谁是生产者,消费者内容 SingleThreadEventLoop 实现 public abst ...
- HZOI20190906模拟39 工业,卡常,玄学
题面:https://www.cnblogs.com/Juve/articles/11484209.html 工业: 推一个式子,AC 没有用组合数....推了2个多小时 我sbsbsbsbsbsbs ...
- JS两个相同的字符串被判断为不相等问题
今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相等,用alert()打印出来都一样,typeof的结果都是string, 仔细查看过了首尾都没有空格. 可是用a==b却判断为不相等 后来在网上 ...
- 19-10-16-R
其实……这篇是真咕了. 反思: ××我$T1$两个小时构造$xiebi$了(虽然我觉得如果干仨小时可能行?) ……如果$T1$用时过长的话那考试多半不行…… 结果: 35 Miemeng 50 03: ...
- css3之文本和颜色功能之text-overflow,word-wrap
语法 text-overflow: clip|ellipsis|string; clip修剪文本.ellipsis显示省略符号来代表被修剪的文本.string使用给定的字符串来代表被修剪的文本. 效果 ...
- WCF简要介绍
什么是WCF WCF的全称是:Windows Communication Foundation.从本质上来说,它是一套软件开发包,是微软公司推出的符合SOA思想的技术框架.WCF为程序员提供了丰富的功 ...