昨天终于成功地向APP STORE提交了应用,个人感觉用AIR做IOS开发就是个坑啊。出了问题之后,问苹果的技术支持,人家说“对于非XCODE环境下开发及发布所造成的问题我们在资料库中无法找到相应的解决方案”。那问adobe的技术支持吧,“你按照开发者中心的教程执行了吗?”“是的”“你能成功生成IPA文件吗?”“是的”“OK,那么你的问题应该去找苹果的技术支持”。。。。我++,简直有种在天朝上访被踢皮球的感觉。
所以,我将我遇到的问题在这里一一记录下来,以便备忘及帮助到同样适用AIR开发IOS的同学。
1.我们清楚,在IOS开发中,有这么几种文件:
1-1.证书签名请求CSR文件,在MAC下生成
1-2.IOS开发者/分发证书*.cer文件,通过上传CSR到IOS开发者中心后下载生成
1-3.P12格式的证书文件,通过从IOS开发者中心下载cer文件,然后在MAC下转换格式导出,这个文件决定了你在FB(flash builder)中能否生成IPA文件
1-4.配置概要文件 *.mobileprovision,关联了设备的UDID,在IOS开发者中心创建并下载。这个文件决定了在你的开发过程中产生的IPA文件能够运行在哪些设备上
而最终在FB中生成IPA所需要的文件为1-3和1-4,我之前很SB地认为这2个文件之间没有什么直接关系,但是实际上一旦你在IOS开发者中心重新替换了CSR文件之后,你的原有的配置概要文件就会全部失效,需要重新创建并下载。在替换了CSR文件之后没有重新创建并下载mobileprovision文件,这是我所犯的第1个错误
2.在adobe开发者中心所提供的教程中,有如下的原文“将生成CSR以获得IOS开发者/分发证书”“根据需要生成IOS开发者证书或IOS分发证书”。它的意思是,cer、p12、mobileprovision文件均有2种类别,一种对应的是开发阶段,一种对应的是分发(即发布)阶段(distribute )。即,我要在设备上进行调试或运行我的程序,在生成IPA时需要选择由开发者证书cer文件所导出的P12文件和在IOS开发者中心创建并下载的的用于开发的mobileprovision文件;而当我导出发行版IPA需要提交到APP STORE时,这时需要选择由分发者证书导出的P12文件和用于分发的mobileprovision文件。在导出发行版时忘了更新P12和mobileprovision文件,这是我犯的第2个错误
3.承接2,在导出用于分发的P12证书时,需要注意一个细节,这个细节步骤是在导出用于开发的P12证书时所没有的。在导出分发P12证书之前,需要先在开发者中心创建分发的cer文件那个界面里点击下方的链接下载一个WADR名称开头的cer文件,然后将这个文件在MAC下添加进钥匙串,这个文件中会在你导出P12文件时附带上苹果的签名。如果你没有这个步骤直接选择导出P12,将无法通过提交APP时的证书签名验证。在导出用于分发的P12证书之前没有下载WADR并添加进钥匙串,这是我犯的第3个错误
4.在1中,我提到“替换CSR文件”,什么情况下需要我们替换CSR文件呢?这涉及到一个非常隐晦非常微妙的问题。在我的发布过程中,遇到了这样一个情景:在设备上可以调试及运行,但是发布后提交应用时一直无法通过应用验证,并且保证前面所提到的1、2、3都没有问题,让人百思不得骑姐。最后发现问题所在:在生成CSR文件时,除了填写开发者账号邮箱之外,还需要填写一个常用名称(common name),而这个名称必须和你在申请IOS开发者账号时所填写的名称一致。而坑爹的是,这个一致性要求仅仅在提交APP时才进行验证,即在之前在开发阶段,即使名称是乱填写的,也不会影响到你在设备上调试或运行程序。我最后发现问题所在为我在生成CSR文件时所输入的名称对比和证书中显示的名称在First Name和Last Name之间少了一个空格。。。。(网上还有一种说法是国外程序员的验证方式是Last Name在前First Name在后)在生成CSR文件时填写的常用名称和IOS开发者账号中的名称不一致,这是我犯的第4个错误
相关推荐
【总结】通过将Adobe AIR与AS3结合,开发者可以为iOS用户创建支持AirPlay的交互式应用程序,提供无缝的多设备体验。尽管涉及到的技术细节复杂,但遵循最佳实践和充分的测试能帮助开发者克服挑战,打造出引人入胜的跨...
总结起来,这个压缩包文件可能包含的是与iOS开发者证书相关的指南或工具,帮助使用Flex、Flash和Air进行手机应用开发的人员了解如何生成和使用证书来构建和签署IPA文件,以便在越狱或非越狱的iOS设备上运行。...
总结,实现跨平台的iOS和Android内购功能,开发者需要理解并熟悉两个平台的内购机制,使用合适的Adobe Air库来抽象平台差异,同时关注错误处理和测试环节,确保为用户提供顺畅且安全的购买体验。
总结,通过本机扩展,Air for Android为开发者提供了强大的能力,使得我们能够充分利用Android系统的特性,实现更丰富的用户体验。在屏幕亮度调节这个示例中,我们看到了从ANE的创建、原生代码编写到ActionScript...
总结来说,与iOS和Android设备的系统卷交互的AIR本机扩展是提升移动应用功能的关键技术,它让开发者能够充分利用设备的本地能力,同时跨越平台限制,为用户提供一致的体验。正确理解和使用ANE,可以极大地增强应用...
这包括安装 Adobe Animate(前身为 Flash Professional)、Adobe AIR SDK、以及 Android 和 iOS 的开发工具(如 Android Studio 和 Xcode)。 2. **基础概念**:理解 Flash 中的关键概念对于高效开发至关重要。...
### ArcGIS API for Flex 应用开发知识点 #### 一、ArcGIS API for Flex 概述 - **定义与背景**:ArcGIS API for Flex 是一款由 Esri 提供的用于构建高性能地理信息系统 (GIS) 的开发工具包。它允许开发者利用 ...
以上是对《iOS 5 Programming Cookbook》中部分内容的知识点总结,这些知识点不仅适用于iOS 5的开发,许多原则和技术也适用于后续版本的iOS开发。对于希望深入学习iOS开发的读者来说,这是一本非常宝贵的参考资料。
Xcode 4.2.1 for Lion 是针对 Mac OS X Lion 操作系统的一个版本,该版本主要包含了对 iOS 5 开发的支持。文件大小约为 1.69GB。此版本中,苹果继续改进和完善了 Xcode 的功能和性能,使其更加稳定且易于使用。 - *...
在iOS平台上进行iPhone应用开发时,处理音频文件,特别是MP3格式的下载和播放是常见的需求。MP3是一种广泛使用的音频编码格式,以其高效的压缩比和高质量的音质深受喜爱。本节将深入探讨如何在iPhone应用中实现MP3...
这对于在Flash Air for iOS和Android平台上的滑动视图开发至关重要。 首先,我们需要理解“惯性”在交互设计中的概念。惯性是指物体在受到外力作用停止后,仍然保持其运动状态的趋势。在UI设计中,特别是在触摸屏...
在iOS开发中,二维码(QR Code)和条形码(Barcode)的应用日益广泛,它们能够快速传递信息,如网址、联系信息、产品详情等。在本文中,我们将深入探讨如何在64位iOS设备上实现二维码和条码的扫描功能,主要基于...
在移动应用开发中,广告是常见的收入来源之一,特别是对于免费应用来说。本文将深入探讨如何集成百度和谷歌的广告ANE(Adobe Native Extension)到Android和iOS应用中,以实现有效的广告展示和优化用户体验。 首先...
- **平台支持增强**:支持多种平台的文档发布,包括但不限于HTML5 Canvas、WebGL、Adobe AIR for iOS/Android以及桌面应用等。 - **自定义平台支持**:用户可以自定义支持的平台,通过API接口进行扩展。 - **文档...