时隔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

4.7  750 x 1334
 
5.5 1242 x 2208 
 
ipad 1024 x 768

xcode7--iOS开发---将app打包发布至app store的更多相关文章

  1. 【2】IOS APP打包发布

    目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...

  2. 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 ...

  3. iOS开发之app打包发布流程

    一.准备工作 苹果开发者中心 1.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分类:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击这 ...

  4. iOS 开发 -----公司测试打包上传流程

    打包iOS应用程序 如果想要将做的iOS应用程序安装到自己的iOS设备上测试.或者安装到别人的iOS设备上,或者想发布到App Store中,先要给应用签名.签名就要有证书,这就需要申请证书的过程了. ...

  5. ios开发--企业帐号发布

    这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号. 首先详细说明一下我们的目标,我们需要发布一个ipa放到网上,所有人(包括越狱及非越狱设备)可以直接通过链接下载安装,不需要通过 ...

  6. 《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 ...

  7. IOS开发帐号与发布问题综合

    一.iOS开发:AD-HOC版应用测试方法:http://hi.baidu.com/kangle1208/item/163f39530abb4d3195eb05a7 二.plist的方式发布: 1.y ...

  8. iOS开发从申请账号到上线APP Store步骤

    1.developer.apple.com 申请开发者账号 2.根据API Cloud创建证书: http://docs.apicloud.com/Dev-Guide/iOS-License-Appl ...

  9. iOS 开发之应用内弹出 App Store 应用界面

    在APP内给其他APP做推广,经常用到在应用内弹出应用的APP #import <StoreKit/SKStoreProductViewController.h> 设置代理:<SKS ...

随机推荐

  1. flutter initializing gradle终极解决方案

    自己开发的公众号,可以领取淘宝内部优惠券 修改flutter.gradle文件 这种做法网上一大堆的教程,如果你还没改过建议先试下,比如这篇 Flutter 运行 一直Initializing gra ...

  2. python爬虫学习(一)

    #简单例子:抓取网页全部内容后,根据正则表达式,获取符合条件的字符串列表from urllib import request#正则表达式import re url = "http://www ...

  3. 【学习笔记】JDBC数据库连接技术(Java Database Connectivity)

    一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和 ...

  4. vim-plug

    vim包管理器vim-plug 安装 curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent. ...

  5. Topcoder SRM 563 Div1 500 SpellCards

    题意 [题目链接]这怎么发链接啊..... 有\(n\)张符卡排成一个队列,每张符卡有两个属性,等级\(li\)和伤害\(di\). 你可以做任意次操作,每次操作为以下二者之一: 把队首的符卡移动到队 ...

  6. 靠谱的div引入任何外链内容

    靠谱的div引入任何外链内容 开发中经常要在div中引入一个页面,该页面可能是内部页面,可能是一个外部页面,也可能只是一个域名获取的请求. 对于内部页面的加载,建议使用jquery的load函数,如: ...

  7. Android 笔记之 R 文件

    Android笔记之R文件 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: red; te ...

  8. android Viewpager取消预加载及Fragment方法的学习

    1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载.通过设置setOffscreenPageLimit(int numbe ...

  9. spring----对IoC和DI的理解

      学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和 ...

  10. BIEE入门(四)展现层

    BIEE里最终面向最终用户(业务界面使用者的)叫做BIEE的Presentation Layer也即展现层,展现层的定义将是最终用户Web报表开发界面里能够看见的完全一样的样子,所以展现层一般将是以最 ...