Web程序员开发App系列

  1. Web程序员开发App系列 - 认识HBuilder
  2. Web程序员开发App系列 - 申请苹果开发者账号
  3. Web程序员开发App系列 - 调试Android和iOS手机代码
  4. Web程序员开发App系列 - 开发我的第一个App
  5. 待续

目录

  1. 前言
  2. 企业开发者和公司开发者的区别
  3. 开发者账号申请流程
  4. 申请打包的相关证书
  5. 将ipa文件发布到AppStore
  6. 第一次发布失败的经历

前言

  为什么第二篇文章要讲如何申请苹果证书呢?因为没有苹果证书你开发的App就没办法在苹果设备上运行,除非越狱的机器,你的客户不可能每个人都会越狱吧?我花了1个月的时间把App开发完成,结果被苹果证书卡了3个多月,所以你在了解了基本开发模式后,记得第一件事情就是申请苹果证书,申请苹果证书,申请苹果证书,重要的事情说三篇,而且在申请的时候打苹果开发售后客服每次都说不知道进度,因为提交到美国那边审核了,一问三不知,最后3个月申请失败了,连原因都不告诉我,还让我重新申请试试,打了无数次电话,每次回答都一样,‘不知道’,有一次一个客服说要不要转接到他们客服经理那问问,我说好,结果别人资深顾问回答了,我们公司性质决定了无法申请企业开发者,只能申请公司开发者,这两者有什么区别我下面会讲到,最后没办法只能申请公司开发者,不到3天就成功了,最后研究如何打包到AppStore花了几天,打包成功

企业开发者和公司开发者的区别

  简单点讲,企业开发者账号是公司内部使用的App,无需提交到AppStore,价格为每年 299美元,只要用Xcode或HBuilder离线打包就可以直接使用

  我们一开始就想申请这个账号,因为有的客户不愿意把自己的内部管理App发布到网上,所以就这样开始申请了,由于苹果对企业开发者申请要求很严格,注册时间也很长,因为不经过AppStore的申请就可以发布,在申请过程中苹果强调过,企业开发者发布的App只能公司内部使用,不允许给其他公司使用,而我们的公司是为别的公司开发App使用,可能就是这里出现了问题,导致一直没有申请下来,在注册的时候也到处询问,其他公司的iOS开发人员,打苹果开发客服,也没得到一个满意的答案,由于我不是iOS开发者,没什么经验,所以就选择了企业开发者,就这么3个月过去了

  公司开发者账号,这个就是需要提交到AppStore上,每次更新都要苹果审核App,价格为每年 99美元,Xcode或HBuilder离线打包出来的ipa文件是无法使用的,需要提交到网站审核

  我上面说到,我们公司有的客户可能不愿意把App发布到AppStore上,结果我对公司开发者账号的研究,里面在发布App的时候有一个企业App选项,就可以让App在别人公司内部使用,所以就解决了上面的问题

企业开发者和公司开发者的具体区别大家可以去网上搜下,我这里只是讲述自己的经历,大家根据自己的情况去注册,别像我这样浪费这么多时间,还有就是之前听说苹果对App里嵌套网页的有限制,无法在AppStore申请通过,经过我的第一次发布AppStore,最后成功了,所以公司开发者认证最适合我们公司

开发者账号申请流程

  首先就是要注册一个AppleId,这个用过iOS的都知道吧,最好别用个人的,申请注册一个公司的

  然后就需要一个邓白氏编码DUNS,这个网上有申请教程,这个需要一周左右的时候,如果是公司开发者,这个申请到了就很简单了

  最后才能到苹果开发网站去申请开发者账号

  企业注册地址:https://developer.apple.com/programs/enterprise/enroll/

  公司注册地址:https://developer.apple.com/programs/enroll/

  申请地址打开很慢,有时候甚至要自己拿梯子,具体的申请流程网上有教程,按照苹果网站的提示申请就可以了

申请打包的相关证书

  公司认证申请通过了,第一件就是把自己的手机iOS系统升级到测试版的Bate版,O(∩_∩)O~,终于体验了一下苹果开发者账号哦

  最重要的就是要申请打包使用的相关证书了,具体教程请查看 http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/152 ,其中有一步需要用到Mac电脑

最后把申请的相关证书用HBuilder在线打包生成一个ipa文件

当然,你也可以去MacOS系统中用Xcode打包,具体配置教程在这里 http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/41,我在Xcode中配置成功后,发现要维护两套代码,所以最终选择了在windows下用HBuilder在线打包,Xcode仅用来调试iOS系统,因为windows下无法调试

将ipa文件发布到AppStore

  进入开发者首页,https://developer.apple.com/account/ 点击 iTunes Connect,然后点击 我的App

点击左上角的 + 号,新建的App

填写相关信息,这里有几个地方要注意一下

1.批量购买计划,这就是我之前说的是企业内部使用,还是对AppStore用户使用,这个类型发布成功后是无法修改的,所以第一步就要决定好,在App信息里 价格与销售范围 可以看到此选项

2.App截图,苹果要求必须是iPhone 5.5寸截图,iPad 12.9寸截图,对,就是苹果屏幕最大的设备,你也可以定义其他尺寸的截图,默认是使用最大的,截图必须能展示你App的所有功能,不能乱截,我第一次发布失败就有这个原因

你会问,那不是要购买 6Plus和iPad Pro?其实不需要,这时候就需要使用MacOS中的Xcode了,用里面的iOS模拟器启动,然后在里面截图就可以了

3.演示账户,App审核信息中有一栏演示账户,我一开始不知道是干嘛的,随便乱填,结果导致发布失败,这里的功能是比如你的App需要登录才能看到所有功能,必须给苹果提供一个测试账号,苹果要进入整个App查看,其实苹果是在帮我们最后一次测试,

填写完毕后还需要借助MacOS系统来发布构建版本,也就是ipa文件不是直接上传到网站,而是通过苹果的软件提交

使用Xcode是在打包的时候就有一个 Upload to App Store... 选项

而我这里使用的是 Application Loader 3.0 工具,下载安装就可以了

提交成功后,你的构建版本里就会出现一个版本选择,这里提交审核就ok了,等待苹果的审核

第一次发布失败的经历

  第一次发布没经验,导致两次发布失败,第三次才成功,我讲一下每次失败的原因,每次失败苹果都会写很详细的备注和截图

进入后台,发现App失败了,点击查看

全是英文。。。只好拿翻译工具了,里面有一段内容如下

Information Needed

We began the review of your app but are not able to continue because we need a demo account to fully assess your app features.

Specifically, we were unable to login with the provided demo account.

Please provide demo account details, including passwords, in the App Review Information section for your app in iTunes Connect. Please ensure that the information you provide includes any data necessary to demonstrate the functionality of your app features.

翻译

需要信息

我们开始审查您的应用程式,但无法继续,因为我们需要一个模拟帐户来完全评估您的应用程式功能。

具体来说,我们无法使用提供的模拟账户登录。

请在iTunes Connect中的应用程序的“应用程序审阅信息”部分中提供模拟帐户详细信息(包括密码)。请确保您提供的信息包括展示应用功能功能所需的任何数据。

附件中还有截图,苹果用的是iOS模拟器在测试,O(∩_∩)O~

根据上面的问题,修改相关信息,继续提交审核,第二次又失败了,内容如下

We noticed that your screenshot(s) do not sufficiently reflect your app in use.

Next Steps

Please revise your screenshots to ensure that they accurately reflect the app in use.

Please ensure you have made any screenshot modifications using Media Manager. You should confirm your app looks and behaves identically in all languages and on all supported devices. Use Media Manager to add custom screenshots for each display size and localization.

翻译

我们注意到您的屏幕截图没有充分反映您的应用在使用中。

下一步

请修改您的屏幕截图,以确保其准确反映正在使用的应用。

请确保您使用媒体管理器进行了任何屏幕截图修改。 您应该确认您的应用在所有语言和所有支持的设备上的外观和行为相同。 使用媒体管理器为每个显示尺寸和本地化添加自定义屏幕截图。

截图问题,使用Xcode的模拟器认真的截图,继续提交,最后终于成功啦,O(∩_∩)O哈哈~

审核成功后由于AppStore有缓存,等了5个小时才看到我的第一个App

好了,苹果证书的相关问题讲完了,第一篇文章我讲到了苹果的App很难伺候,给大家讲下自己的经验,免得大家也在苹果证书上浪费时间

Web程序员开发App系列 - 申请苹果开发者账号的更多相关文章

  1. Web程序员开发App系列 - 开发我的第一个App,源码下载

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  2. Web程序员开发App系列 - 调试Android和IOS手机代码(补图)

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  3. Web程序员开发App系列 - 认识HBuilder

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  4. 程序员的智囊库系列之2----网站框架(framework)

    程序员的智囊库系列之2--网站框架(framework) 这是程序员的智囊库系列的第二篇文章.上一篇文章讲了服务器与运维相关的工具,这篇文章我们将介绍几个搭建网站的框架: django express ...

  5. .NET WEB程序员需要掌握的技能

    本来这个是我给我们公司入职的新人做一个参考,由于 @张善友 老师在他的微信号转了我的这篇文章<<.Net WEB 程序员需要掌握的技能>>,很多人觉得比较有用,说是看了后知道一 ...

  6. Web程序员最常用的11款PHP框架

    PHP框架是Web程序员和开发人员最为有用的工具. PHP框架可以帮助用户更快地开发项目. 今天我将为开发人员带来几款最好的PHP框架,希望能对你有用. 1.Agavi Agavi是一款强大的,可扩展 ...

  7. 微信小程序将带来web程序员的春天!

    微信之父张小龙在年初那次演讲中曾表示:“我自己是很多年的程序员,我觉得我们应该为开发的团体做一些事情.”几个月后,微信正式推出微信应用号(即微信小程序)在互联网中掀起又一波热潮. 过去,对于很多开发者 ...

  8. 程序员的智囊库系列之3--分布式文件系统(Distributed file systems)

    程序员的智囊库系列之3--分布式文件系统(Distributed file systems) 这是程序员的智囊库系列的第三篇文章.上一篇文章本来打算介绍几个搭建网站的框架,但由于这部分的内容较多,还需 ...

  9. 【Web探索之旅】第四部分:Web程序员

    内容简介 1.第四部分第一课:什么是Web程序员? 2.第四部分第二课:如何成为Web程序员? 3.第四部分第三课:成为优秀Web程序员的秘诀 第四部分:Web程序员(完结篇) 大家好.终于来到了[W ...

随机推荐

  1. OpenGL学习进程(11)第八课:颜色绘制的详解

        本节是OpenGL学习的第八个课时,下面将详细介绍OpenGL的颜色模式,颜色混合以及抗锯齿.     (1)颜色模式: OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. R ...

  2. 阅读开发高手的代码 分享二则.NET开发框架的技巧

    最近阅读了一套ERP开发框架的源代码,对开发框架的理解又深入一层,也为其将知识点运用的如此灵活而自叹不如. 郎咸平教授说,国际金融炒家对国际金融知识的理解与运用程序,是不可想像的.1997年的亚洲金融 ...

  3. 提高D3js力导向图加载速度(转)

    过去一段时间曾两次使用了 D3 力导向图来描绘族群关系. http://bl.ocks.org/mbostock/1062288 第一次用的时候不求甚解,交差了事.当时点也不多,很顺利完成了任务.这一 ...

  4. 解决Visual Studio 2010/2012在调试时lock文件的方法

    调试3dsmax插件,有一个避免每次修改插件代码都需要重启3dsmax的方法,就是将导出的核心代码写在一个独立的DLL中,然后在插件代码需要导出时LoadLibrary这个DLL,导出之后再FreeL ...

  5. 集群: 如何在spring 任务中 获得集群中的一个web 容器的端口号?

    系统是两台机器, 跑四个 web 容器, 每台机器两个容器 . nginx+memcached+quartz集群,web容器为 tomcat . web 应用中 用到spring 跑多个任务,任务只能 ...

  6. [Aaronyang] 写给自己的WPF4.5 笔记19[Visual类图文并茂讲解]

    文章虽小,内容还好,且看且珍惜. aaronyang版权所有,不许转载,违者必究 当界面上使用数千个矢量图形,例如实时统计图,粒子碰撞,比如超级玛丽游戏,图像一直在绘,过量的使用WPF的元素系统和Sh ...

  7. Scala 深入浅出实战经典 第51讲:Scala中链式调用风格的实现代码实战及其在Spark中应用

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  8. Nginx 301重定向的配置

    301重定向是很常见的需求,比如访问 fz1688.com,自动跳到 www.fz1688.com.或者倒过来,访问 www.fz1688.com 跳到 fz1688.com.Nginx 中配置 30 ...

  9. Java对象创建阶段的代码调用顺序

    在创建阶段系统通过下面的几个步骤来完成对象的创建过程 为对象分配存储空间 开始构造对象 从超类到子类对static成员进行初始化 超类成员变量按顺序初始化,递归调用超类的构造方法 子类成员变量按顺序初 ...

  10. Intent用法简介

    Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递.通过其自带的属性,其实可以方便的完成很多较为复杂的操作.例如直接调用拨号功能.直接自动调用合适的程序打开不同类型的 ...