xcode7--iOS开发---将app打包发布至app store
时隔3个月再次接触应用打包,又是一顿折腾
说说这次的感受吧:
变得是打包时间减少到4小时(其中大部分时间还是xcode7或者是iOS9的原因),不变的是还是一如既往的坑!!
好了,废话不多说,下面讲讲如何将一个APP 发布到 苹果的app store!
在xcode7以前,用户是不能直接真机调试的,必须有开发者帐号才可以真机! xcode7出现后,用户可以直接把app 安装在自己的手机上面
1=====>首先你得向apple 支付99刀成为苹果的全平台开发者(xcode7以前,99刀只能开发iOS应用),他会把你的apple id变成开发者帐号,这是最最基础的
2=====>在xcode的preference里面填写你的开发者帐号
3=====>注册App ID,在Xcode中填写Bundle Identifier
在开发者网站中
新增一个APP ID,他是专门属于你的这个应用的
---------------------------我是华丽的分割线-------------------------

bundle id 一般写com.你的公司名.应用名!
然后continue
---------------------------我是华丽的分割线-------------------------

然后打开XCode,选择Target > Summary。在Identifier输入框中输入上面注册的Bundle Identifier。
---------------------------我是华丽的分割线-------------------------

4=====>创建发布证书(Distribution Certificate)
iOS应用都有一个安全证书用于验证开发者身份和签名
打开mac上的钥匙串,然后打开证书助理,选择从证书机构颁发证书

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------
,
---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

添加刚才创建的.CSR签名文件。
刷新页面,然后就可以下载证书了。下载后安装。
最后一步,打开Keychain Access。选中刚才安装的private key,选择菜单中的Export Item将私钥导出。将导出的私钥备份到一个安全的地方,以便以后重装了系统可以还原。(团队共用这一份)
5=====> 创建Distribution Provisioning Profile(俗称pp文件)
打开Provisioning Portal,选择Provisioning -> Distribution,选择添加一个新的profile。Distribution Method要选择App Store,App ID需要输入在前面申请的App ID。证书也要选择刚开始申请的.cer文件.提交后需要等一会儿再刷新这个页面。然后就可以下载和安装profile了。安装后profile会被添加到XCode。然后就可以不用管了
步骤:
,
---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

6=====>用Distribution Profile为应用签名
打开XCode,在Build Settings中选择Code Signing。在Release设置上选择刚才申请的Distribution Profile。

一定要选择生成目标为iOS device,然后点击Archiving开始打包应用。
点击Edit Schemes,将Archive设置为Release。

7=====>在iTunes Connect上传App
在iTunes connect上新建你的app(我就是忘了先新建(第7步和8步顺序相反),所以就导致了一只出错,报我的bundle id 不合法,弄了好久才知道我应该在iTunes connect先新建app才行)

------------主要是下面这个---------------
---------------------------我是华丽的分割线-------------------------

8=====>打包App

这样就可以把本地的app 添加到connect中了,然后就可以构建了
然后把这一页的信息填写正确后就可以提交了(很多坑!!! )

再说这次提交时因为xcode7或者ios9而导致的问题:
1).提交app store时,突然出现这个错误(xcode7以前从来没有遇到,不知道是不是xcode7或者ios9的锅)

搜索到的技术文章说有三种情况可能会导致这个问题:
1.检查启动图片是不是.png格式的
2.Put those images at root level of your project
3.放置一张启动图片命名为"Default-568h@2x.png",大小是640 × 1136 pixel的放在你的工程根目录下
我的app就是这样解决这个问题的
2).在iTunes connect里面填写信息的时候,APP图片不合法,首先必须要求大小是1024*1024的

造成的原因是你的图片有圆角
解决方法是先用画图工具把它另存为.jpg格式的,然后再把它转换成.png格式的(也可以不用转)
解决问题!
3).在iTunes connect里面填写截图信息的时候,截屏图片不合法(这里是我手动更改的像素,太痛苦了,再也不想弄了...)
必须要求你的尺寸为:
3.5 640 x 960
4.0 640 x 1136
xcode7--iOS开发---将app打包发布至app store的更多相关文章
- 【2】IOS APP打包发布
目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...
- iOS利用Application Loader打包提交到App Store时遇到错误The filename 未命名.ipa in the package contains an invalid character(s). The valid characters are:A-Z ,a-z,0-9,dash,period,underscore,but the name cannot start w
iOS利用Application Loader打包提交到App Store时遇到错误: The filename 未命名.ipa in the package contains an invalid ...
- iOS开发之app打包发布流程
一.准备工作 苹果开发者中心 1.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分类:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击这 ...
- iOS 开发 -----公司测试打包上传流程
打包iOS应用程序 如果想要将做的iOS应用程序安装到自己的iOS设备上测试.或者安装到别人的iOS设备上,或者想发布到App Store中,先要给应用签名.签名就要有证书,这就需要申请证书的过程了. ...
- ios开发--企业帐号发布
这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号. 首先详细说明一下我们的目标,我们需要发布一个ipa放到网上,所有人(包括越狱及非越狱设备)可以直接通过链接下载安装,不需要通过 ...
- 《iOS开发实战 从入门到上架App Store(第2版)》书籍目录
第1章 开发准备 1.1 iOS 10新特性简述 1.1.1 新增触觉反馈编程接口 1.1.2 SiriKit框架的开放 1.1.3 引入Messages App 1.1.4 通知框架的整合与扩展 1 ...
- IOS开发帐号与发布问题综合
一.iOS开发:AD-HOC版应用测试方法:http://hi.baidu.com/kangle1208/item/163f39530abb4d3195eb05a7 二.plist的方式发布: 1.y ...
- iOS开发从申请账号到上线APP Store步骤
1.developer.apple.com 申请开发者账号 2.根据API Cloud创建证书: http://docs.apicloud.com/Dev-Guide/iOS-License-Appl ...
- iOS 开发之应用内弹出 App Store 应用界面
在APP内给其他APP做推广,经常用到在应用内弹出应用的APP #import <StoreKit/SKStoreProductViewController.h> 设置代理:<SKS ...
随机推荐
- 正则表达式过滤联系方式,微信手机号QQ等
有些输入不允许用户输入联系方式.可以使用以下正则表达式来判断是否输入敏感信息 var reg = new RegExp("(微信|QQ|qq|weixin|1[0-9]{10}|[a-zA- ...
- MVC设置默认页面
方法1:在RouteConfig.cs文件中配置默认路由 public class RouteConfig { public static void RegisterRoutes(RouteColle ...
- 《Hadoop权威指南》读书笔记1
<Hadoop权威指南>读书笔记 Day1 第一章 1.MapReduce适合一次写入.多次读取数据的应用,关系型数据库则更适合持续更新的数据集. 2.MapReduce是一种线性的可伸缩 ...
- oracle学习篇十:序列
序列:是用来生成唯一.连续的整数的数据库对象.序列通常用来自动生成主键或唯一键的值. 1. 创建序列语法如下: Create SEQUENCE sequence_name [START WITH in ...
- VUE-地区选择器(V-Distpicker)
V - Distpicker 地区选择器环境问题不多说,自己看文档,主要讲一下在实际使用过程中如何将下拉框的值赋值到对象属性上.文档: https://distpicker.pigjian.com/g ...
- ViewPager应用引导界面
如图设置的一种引导页的开启这个引用时先将图片进行一个动画当动画结束时进入到了引导页面 下面的小图片 当点击的时候ViewPager消失 再点击时ViewPager在显示出来 先看开启界面 上面的动画 ...
- python str、int、dict
一.str print(dir(int))#['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', ...
- requireJS的优化工具 ---- r.js
requireJS是javascript的模块加载器,是基于AMD规范实现的. r.js是其提供的对模块进行打包和构建的一个工具 下载 r.js 创建r.js 的配置文件 build.js build ...
- JavaScript递归深度问题
递归是有限的东西: function fact(num) { if (num <= 1) { return 1; } else { return fact(num - 1); } } 测试结果是 ...
- 【Leetcode】【Easy】Implement strStr()
Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...