AIR 15.0 提交 AppStore 错误 ERROR ITMS-9000: Invalid Segment Alignment

AIR 15.0 提交 AppStore 错误 ERROR ITMS-9000: Invalid Segment
Alignment

上周提交到 AppStore 的 IPA 被拒了,其中的主要错误如下:

ITC.apps.assetvalidation.PURPLE_EXECUTABLE_OUT_OF_ALIGNMENT.error.message

我联想到有可能是因为 iOS8 支持的原因,于是在
labs.adobe.com
下载了 2014-09-24 日发布的 AIR 15.0.289 beta 版重新打包,但在提交到
AppStore 的时候收到这样的错误提示:

ERROR ITMS-9000: “Invalid Segment Alignment. This app does not have
proper segment alignment and should be rebuilt with the latest version
of Xcode. Please contact Developer Technical Support if you need
further assistance.”

这消息看起来和上次被拒的原因一致。我可以确定是 iOS8
的原因了。最可能的情况是 Apple 要求新提审的包必须加入 iOS8
的相关字段,而 Adobe AIR SDK 的编译器没有提供这些字段。

在 Google
上搜了一通,发现不少人碰到这个问题,只是没有解决方案。 继续阅读AIR 15.0 提交 AppStore 错误 ERROR ITMS-9000: Invalid Segment Alignment

Flash air 开发iOS游戏在苹果上架,能否热更新?

Flash air 开发iOS游戏在苹果上架,能否热更新?

这是我在知乎上的一个回答。原文地址:
http://www.zhihu.com/question/24847013/answer/29263899

我曾经多次被问到过这个问题。正好整理一下思路,免得以后忘了。

问:

游戏已经上架,以前的更新方案在苹果更新后,发现更新下来的swf不能正常读入,导致游戏无法进入。不知各位大神有没有什么方法解决。

答:

目前,在移动平台上想利用SWF热更新,只有 Android 能做到。 继续阅读Flash air 开发iOS游戏在苹果上架,能否热更新?

Adobe AIR与unity3D都是跨平台,那个更好呢?

Adobe AIR与unity3D都是跨平台,那个更好呢?

这篇文章是我在之乎上的一个回答:http://www.zhihu.com/question/22611908/answer/22051811

碰巧我最近写了这篇文章: 你是否已经放弃了flash,转投其他行业?

这篇文章是对一个Flash社区的一个投票的评论。

对Flash社区的开发者们来说,早早转换技术的,心有戚戚的,观望的,坚守的都有。从我认识的Flash资深开发者(3年以上)来说,逃离的和坚守的应该是一半对一半(不排除有人说假话)。根据我这几年对Adobe的观察,我觉得一个开发者要继续发展,必须远远离开Adobe。

继续阅读Adobe AIR与unity3D都是跨平台,那个更好呢?

【未完待续】一个基于AS3的plist库

一个基于AS3的plist库

本文并未全部完成,请耐心等待……


为了在 Sprite Sheet Editor 中加入 plist 格式的 metadata 支持,我在 f60k的as3plist库 基础上进行了修改,实现了我的 as3plist 库。

Plist格式的本质是XML文件。由于AS3内置XML支持,所以这个库的实现还是比较容易的。

Cocos2d-x 中大量使用了plist格式文件 ,因此实现plist的支持非常必要。目前我还没有找到软件能导入 plist+png 格式的 Sprite Sheet。大多数软件都只是能生成该格式。而 Sprite Sheet Editor 只需要稍加修改就能做到这一点。

由于精力有限,项目中的文档并不齐全且可能有错,直接编译 sample 会比较靠谱。

下面是范例代码: 继续阅读【未完待续】一个基于AS3的plist库

AIR中不使用ANE实现iOS消息推送

今天整理以前的源码时,发现一个用ANE实现iOS消息推送的半成品。隐约中记得AIR的某个更新版本在运行时中实现了iOS消息推送,于是找了一下资料。

原来,AIR 3.4已经把消息推送功能整合到AIR运行时中了。下面的内容摘自 发行说明 | Flash Player® 11.4、AIR® 3.4

iOS 推送通知
此功能将使用 APNS(苹果推送通知服务)和提供程序(将与 APN
进行通信的第三方服务器)生成通知。已引进新的软件包
flash.notifications。 推送通知的发送完全依赖 Apple
的推送通知服务,APNS 不保证推送通知的发送。 Apple
也建议每次启动应用程序时订阅推送通知。每次客户端应用程序订阅推送通知时,APNS
会向客户端应用程序提供代号 id,并且此代号 id
将发送给将发送远程通知的第三方服务器或提供程序。

下面有一些文章介绍,从实现到范例一应俱全:

AIR在iOS7上的Microphone权限问题解决

近期提交到AppStore上的应用被拒,原因如下:

2.3
In addition, during review we were prompted to provide consent to use the microphone, however, we were not able to find any features or functionality that use the microphone for audio recording.
Please see the attached screenshot’s for more information.
The microphone consent request is generated by the use of either AVAudioSessionCategoryRecord or AVAudioSessionCategoryPlayAndRecord audio categories.
If you do not intend to record audio with your application, it would be appropriate to choose the AVAudioSession session category that fits your application’s needs or modify your app to include audio-recording features.
……

大概的意思是说我的应用有请求Microphone权限,但没有使用这个权限。Apple同时发来一张截图:

microphonenedded

但是我清楚的知道,我的应用绝对是没有使用麦克风的。只有某卫士某地图才会无耻地跑去请求发短信权限麦克风权限银行帐号权限…… 继续阅读AIR在iOS7上的Microphone权限问题解决

如果 Flash 死了,会怎么样?

这是我在之乎上的一个回答:http://www.zhihu.com/question/20428679/answer/18577831

其实这篇文章是标题党,我并没有回答这个问题。

每次看到这样的问题,我就忍不住想出来吐:

Flash要死了这种言论完全是不负责任不懂Flash没做过AS3没看过Flash的真正能力不了解技术不懂JS没做过JS没看过JS的真正能力不知道浏览器区别不了解webGL不知道JS能干什么的小白胡扯挨踢编辑跟风写出来博眼球博同情博@博follow博顶的扯淡文章中的无脑言论!
继续阅读如果 Flash 死了,会怎么样?

SpriteSheetEditor 0.8.2 发布

2013-08-21:v0.8.2版发布

  • 增加拖放功能,可以直接从资源管理器中拖动图像文件到编辑器中,规则如下:
    1. 在开始界面中,根据文件扩展名和有无metadata文件,进入不同的界面(SWF、PIc或SS);
    2. 在PIC界面中,将文件作为图像文件对待,加入PIC列表;
    3. 在SS页面中,将文件作为图像文件或SpriteSheet对待,加入SpriteSheet列表;
  • 解决导入图像列表会出现重复的BUG;
  • 重写TransformTool;
  • 允许在SWF预览界面中移动SWF内容,以方便舞台对位有问题的SWF动画截取;
  • 合并了SS界面中的“增加图像帧”和“增加SpriteSheet”。

关于“允许在SWF预览界面中移动SWF内容”,看下面两张图: 继续阅读SpriteSheetEditor 0.8.2 发布

SpriteSheetEditor 0.8.1 发布

2013-06-18更新: 解决图像质量选择的bug,请重新下载。


2013-06-14:v0.8.1版发布

  • 增加保存为Starling格式的SpriteSheet,但不支持打开Starling;
  • 调整程序结构以支持更多格式;
  • 在“编辑SpriteSheet界面”,直接单击大图选择对应的帧,左侧帧列表会自动滚动到该帧;
  • 在“编辑SpriteSheet界面”,可以使用Shift实现连续多选,使用Ctrl/Control键实现不连续多选。

更多的功能介绍以及软件下载,看 这里