iOS-APP发布应注意要点
Android和IOS的app发布的流程有一个相同之处,就是都需要先将编译好的app签名,然后上传到market里,但两者的复杂度是冰火两重天。Android可以手动通过集成在eclipse里的工具进行签名,或者可以用ant进行自动化签名。但IOS app的发布过程非常的痛苦。
发布IOS app有两种方式,一种称为AD_HOC,由于这种方式需要预先获取设备的UDID,因此适合在企业内部发布;另一种方式众所周之的方式就是发布到app store里。Xcode4集成了这两种发布方式,在Xocde4的Organizer窗口里,切换到Archives选项卡,当使用Archives方式编译后,编译出来的文件会出现在这个选项卡里。这个选项卡里还有三个按钮,分别是Validate、Share和Submit,其中Validate按钮是用作验证格式和签名是否正确的,而Share则是以ipa格式发布,Submit则是上传到App Store里。这两个发布方式的具体操作可以查看苹果的文档:https://developer.apple.com/ios/manage/distribution/index.action,如果是Xode4以上的可以看这里:
http://useyourloaf.com/blog/2010/12/23/creating-iphone-ad-hoc-distribution-builds.html。
抛开发布流程的复杂度不说,其中有几个关键步骤是非常值得分享的。
1、 在Archive编译完成后,如果点share或submit,会提示错误:Thiskind of archive cannot be signed,如果点Validate校验,会提示错误:does not contain a single–bundle application or contains multipleproducts. Please select another archive, or adjust your scheme to create asingle–bundle application。出现这些错误,一般是你的项目里包含了其它库,例如cocos2d。xcode4下默认会将cocos2d编译成一个后缀名为.a的静态库文件,生成的archive包里的application下有两个目录,一个是.app的文件,还有一个是usr的目录,里面是cocos2d编译出来的.a文件,所以会校验不通过。解决方案如下,先在project navigator里点击项目的图标,在右边的项目配置界面里点击名为cocos2d libraries的target,在Building Setting里找到Skip Install的项目,将值改为YES。
2、 当在项目中需要用到apple的推送功能时,需要增加一个Entitlements.plist文件,通过xcode的添加文件向导可以向项目里添加这个文件。如果是需要使用ipa格式发布,当在Archive编译完成后,点击validate或share的时候,如果出现以下错误:this bundle is invalid. the application-identifier entitlement isnot formatted correctly,请将对应的Entitlements.plist文件的内容按下图填写。
3、 如果是要想发布到appstore里,在点击Submit按钮并开始上传文件后,若出现application failed codesign verification. the signature was invalid,or it was not signed with an iPhone distribution certificate这样的错误提示时,如果你已经确认已经正确地使用了appstore的签名,请检查一下Building Setting里的Code Signing Entitlements的选项,这里是不需要填入任何文件的路径的,这是appstore和AD_HOC的最大不同。
iOS-APP发布应注意要点的更多相关文章
- [转载]ios app 发布遇到的问题uinewsstandapp=true
原文地址:ios app 发布遇到的问题uinewsstandapp=true 作者:Capacity To include newsstand features, the info.plist mu ...
- iOS app 发布错误 ERROR ITMS-90167: "No .app bundles found in the package"
今天iOS 上传 APP 突然发生了这个错误,在排查非证书错误后感到非常奇怪, 因为昨天刚刚上传了另一个APP,一切正常. 仔细回忆了下 昨天和今天唯一的不同就是我升级了 电脑操作系统至 macOS ...
- iOS app发布流程
http://www.xuebuyuan.com/1980497.html http://blog.csdn.net/alincexiaohao/article/details/38725367 ap ...
- iOS app 企业内部发布及HTTPS服务器配置
转自: http://www.cnblogs.com/cocoajin/p/4082488.html iOS企业内部发布及HTTPS服务器配置 一:所需的条件 1. 苹果开发者证书,企业版 299$ ...
- ios app的真机调试与发布配置
1.打开应用程序—>[钥匙串访问]—>[证书助理]—>[从证书办法机构请求证书] 2.在[用户电子邮件地址]填入apple账户用的邮箱,选择[存储到磁盘],点击[继续],会在 ...
- iOS 制作发布证书,发布到App Store
---恢复内容开始--- 1.登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 2.在 iOS Provisioning Portal中,点击App IDs ...
- hbuilder IOS APP 打包与发布
---恢复内容开始--- 准备:苹果开发者账号,一个Mac系统 没有账号可以再这里注册 https://developer.apple.com/ 因为账号是公司的,自己并没有注册过,这里就不进行阐述了 ...
- hbuilder IOS APP 打包与发布2
在上一篇的<hbuilder IOS APP 打包与发布>中,请求 的 是APP ids . ios开发证书 .和开发配置文件 , 这一篇中就不写发布证书和配置文件的请求,因为流程 ...
- 【2】IOS APP打包发布
目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...
随机推荐
- QuickSort快速排序的多种实现和优化
并不是很懂wikipedia上面说快排的空间复杂度最坏情况是O(NlogN)啊,难道不是空间复杂度平均O(logN),最坏O(N)么--原地快排难道不是只要算递归栈深度就好了么--有谁给我解释一下啊( ...
- @Configuration 和 @Bean
1. @Bean: 1.1 定义 从定义可以看出,@Bean只能用于注解方法和注解的定义. @Target({ElementType.METHOD, ElementType.ANNOTATION_TY ...
- [转]VS 2013 连接数据库报错 未能加载文件或程序集 Microsoft.SqlServer.Management.Sdk.Sfc
原文链接:http://stackoverflow.com/questions/16906686/could-not-load-file-or-assembly-microsoft-sqlserver ...
- Linux下yum升级安装PHP 5.5
我的系统是Centos 6.5 ,安装lnmp是直接yum安装的,php版本为5.4的,当安装了最新的phpMyAdmin(4.5.1)数据库管理软件后发现不支持php5.4使用,所以只好升级下php ...
- C语言 1 << 0 是什么意思
1 << 0 是把1 按2进制 左移0位,结果还是 1 ,2进制 0000 00011 << 1, 是把1 按2进制 左移1位,结果是2,2进制 0000 0010
- andorid service 本地服务
ActivityManifect.xml <?xml version="1.0" encoding="utf-8"?> <manifest x ...
- Solaris 命令 小结
Solaris 命令 小结 prstat -a 系统进程监控 Solaris 10默认的shell是sh,可以改成bash #useradd -m -d /home/dave dave -s /bin ...
- ps命令介绍
ps是收集进程信息的重要工具.它提供的信息包括:拥有进程的用户.进程的起始时间.进程所对应的命令行路径.进程ID(PID).进程所属的终端(TTY).进程使用的内存.进程占用的CPU等.例如: $ p ...
- DSS中间件介绍
DSS中间件采用HTTP协议,终端可以是任何的支持Http协议的设备,开发工具和语言均不受限制 DMS消息服务, 采用类似HTTP的协议 DSS-API介绍(持续更新) http://www.dioc ...
- [学习笔记] 七步从AngularJS菜鸟到专家(7):Routing [转]
这是"AngularJS – 七步从菜鸟到专家"系列的第七篇. 在第一篇,我们展示了如何开始搭建一个AngularaJS应用.在第四.五篇我们讨论了Angular内建的directives,上一篇了解 ...