ipa 打包遇到的坑
1.xcode 打包 并上传至 appstore 审核
2.预留邮箱 收取 appstore 的审核结果
3.审核通过以后,通过 iTunes Connect 上传正式文件至 appstore 网址:https://itunesconnect.apple.com/login

转自:http://www.cnblogs.com/mddblog/p/4718228.html
一、通过企业账号申请证书
1 Certificate Signing Request (CSR)文件
在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”,如图1所示:

—>填写前两项,并选择“存储到磁盘”,如图2所示:

2 请求Certificate证书
登录https://developer.apple.com —>MemberCenter—>Certificates, Indentifiers & Profiles—>Certificates,如图3所示:

—>在图4页面,点击右上角加号,添加一个证书:

—>选择In-House and Ad Hoc,点继续,如图5所示:

—>如图6:Choose File选择第1步的CSR文件上传,点击generate生成cer证书,下载后双击安转(需要输入Mac的密码)

3 App ID
点击右上角的加号按钮,如图7所示:

—>有两项需要填(如图8所示),name为描述可以随便填写.bundleID必须与APP的bundleID完全一致(如图9所示)。至于App Services根据自己需要选择。最后点击继续->submit->done


4 生成最终的Provisioning Profile(企业版不需要device即iPhone的UDID,因此跳过)。
选择Provisioning Profile->ALL,点击右上角加号:

—>选择刚创建的AppID,点击继续,如图12所示:

—>选择cer证书点击继续.图13 给最终生成的Profile文件命名方便自己识别。然后点击生成,并下载双击打开。至此证书环节完毕

二、打包ipa,手动生成plist
这一步开始前,需要将手机插入电脑,并调试选项选择真机。(防止无法Archive),如果没有真机,可以选择iOS Device(这个没有测试)。
1 打包ipa
1.1 Edit scheme
用Xcode打开对应APP。Product->Scheme->Edit scheme,填写Archive name,即为打包后的ipa名字,如图14所示

1.2 选择对应证书,即刚才生成的证书,如图15所示:

1.3 归档,Product->Archive,并按图16,图17操作:


完成之后会生成一个ipa包。
三、发布APP
要发布还必须有一个plist文件,在Xcode6之前会自动生成一个plist文件,但是Xcode6之后需要我们自己创建plist,文章最后提供一个plist模板,复制并重命名为plist后打开根据提示操作即可.图18为plist的截图,可以看到有三个URL,分别存放ipa,大小图标。下图的1(ipa)、2(大图)、3(小图)填写我们自己生成的URL,即将ipa和大小图标放在我们自己的服务器,当用Safari打开plist时会根据填的plist里面的1、2、3对应的URL来下载安装ipa、大小图标。

那么plist放在哪里呢(即Safari打开plist的URL是多少呢)?苹果对plist存放地址有要求,必须是https的,如果没有https网站,我们可以把plist放在https://git.oschina.net。具体做法就是在上面创建一个项目(不能是私人的),然后将编辑好的plist传到项目,最后将plist的URL赋值下来,比如https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist。然后我们在Safari中输入:itms-services:///?action=download-manifest&url=https://git.oschina.net/waitwait/companytest/blob/master/MDDTest.plist就可以安装了(一定要将红色字符串和蓝色URL一起输入)。
Safari操作的具体流程是:
1 Safari解析我们输入的那一串字符串,找到plist文件
2 根据plist文件里面提供的信息下载并安装ipa包,还会访问大小图标,大小图标在ipa包正在下载时显示,当下载完毕后显示程序自带的图标
下载安装后,如果想打开程序还需要在手机 设置->通用->描述文件与设备管理(不同系统可能名字不一样) 里面选择相应的证书信任后,方可打开程序
那么,如何获取别人的APP,或者避免别人下载自己的APP呢?
注意,公用的https链接会被封掉,可以试试github,百度云,七牛云存储等等。最好还是用自己的
下面是plist模板的文本形式,将其复制到文本然后重命名.plist,用Xcode打开按照提示编辑即可。
<?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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>ipa包URL(必填)</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>下载时大图(非必填)</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>下载时小图(非必填)</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>BundleID(必填)</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>subtitle</key>
<string>副标题(非必填)</string>
<key>title</key>
<string>应用名(必填)</string>
</dict>
</dict>
</array>
</dict>
</plist>
.
ipa 打包遇到的坑的更多相关文章
- 转 苹果企业级帐号进行ipa打包,分发,下载等流程
1,企业帐号介绍(1)使用企业开发帐号,我们可以发布一个 ipa 放到网上,所有人(包括越狱及非越狱设备)都可以直接通过链接下载安装,而不需要通过 AppStore 下载,也不需要安装任何证书.(2) ...
- Xcode8免证书生产IPA打包文件
免证书生产IPA打包文件 修改Xcode配置文件: 关闭Xcode.然后打开“其他-终端”,就是命令行工具 cd /Applications/Xcode.app/Contents/Develope ...
- ios学习之路:Xcode+swift+打包ipa一步一坑记录
咳咳,作为公司的Android开发(兼java接口开发,兼软件测试,兼运维……)由于公司ios开发小伙伴离我而去,ios的app出了问题,急需处理.于是领导决定由我来处理一下.就是用证书重新打包的事儿 ...
- RN打包的那些坑儿
Write By lz: Lz 寄语: RN虐我千百遍, 我待RN如初恋, 坑儿爬多了也就自然了 官方文档: http://reactnative.cn/docs/0.43/signed-apk-an ...
- python pyinstaller打包exe暗坑1
环境 python2.7.9 win-xp 今天打包了一个小脚本,结果打开报错
- vue打包遇到的坑
1.-webkie-box-orient:vertical没大打包上,解决方案 /* ! autoprefixer: off */ -webkit-box-orient: vertical; /* a ...
- Spirng boot maven多模块打包不踩坑
本文参考 https://blog.csdn.net/Ser_Bad/article/details/78433340 经过实战一次通过.回话不多说,话费不多说,直接上图. 项目整体结构: 父模块: ...
- 详解vue静态资源打包中的坑与解决方案
本文主要解决: 1.vue-cli默认配置打包后部署至特定路径下静态资源路径错误问题; 2.静态资源打包使用相对路径后css文件引入图片路径错误问题. 一.问题 vue-cli 脚手架生成的默认打包配 ...
- webpack4打包的一些坑
1.安装webPack看官方文档就可以了,主要是打包,我安装的是4+以上的 官网中文教程:https://www.webpackjs.com/guides/installation/ 2.我是在php ...
随机推荐
- jquery 图片预加载
/图片无序预加载 (function($){ function Preload(imgs,fns){ this.imgs=(typeof imgs==="string")?[img ...
- 华为S5300系列升级固件S5300SI-V100R005C01SPC100.cc
这个固件附带了web,注意,这个插件是升级V200的必经固件,所以必须升级为此固件之后才能往下升级. 升级小插曲: 1.升级的使用使用Windows,不要用Mac或者Linux,因为从Mac/Linu ...
- [Go] 复合类型(数组、切片、字典、结构体)变量的 初始化 及 注意事项
Go变量 初始化 对 复合类型(数组.切片.字典.结构体)变量的初始化是,有一些语法限制: 1.初始化表达式必须包含类型标签: 2.左花括号必须在类型尾部,不能另起一行: 3.多个成员初始值以逗号分隔 ...
- Effective JavaScript Item 35 使用闭包来保存私有数据
本系列作为EffectiveJavaScript的读书笔记. JavaScript的对象系统从其语法上而言并不鼓舞使用信息隐藏(Information Hiding).由于当使用诸如this.name ...
- .Net高级技术——字符串拘留池(Intern)
一.深入理解字符串的不可变特性 string可以看做是char的只读数组.char c = s[1] C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变.所以只能通过索引来读取指定位 ...
- memcached-session-manager配置
原文地址: http://chenzhou123520.iteye.com/blog/1650212 声明:本篇文章是根据memcached-session-manager官方配置方法wiki页面翻译 ...
- LaTeX快速入门-蔡炎龙
蔡老师的这个文档只有26页,非常简短称得上是快速入门的文档了,TeX的基本入门这个文档还做不到,仅仅是一个简单的引子,让大家管中窥豹,先简单使用,然后才会更加深入进去. 文档早一个版本是用CJK排版的 ...
- ldap服务器OpenLDAP安装使用
OpenLDAP 是 LDAP 协议的一个开源实现.LDAP 服务器本质上是一个为只读访问而优化的非关系型数据库.它主要用做地址簿查询(如 email 客户端)或对各种服务访问做后台认证以及用户数据权 ...
- BFS(广搜)DFS(深搜)算法解析
图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系.对象由顶点(V)表示,而对象之间的关系或者关联则通过图的边(E)来表示. 图可以分为有向图和无向图,一般用G=(V,E)来表示图. ...
- go语言基础之切片做函数参数
1.切片做函数参数 (备注:用了冒泡排序) 示例: package main //必须有个main包 import "fmt" import "math/rand&quo ...