About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Jan

    28

    二次元世界吐槽不断:《十万个冷笑话》

    • 0 Comments
    • Movies, TV and Celebrities

     

    Jan

    24

    桌面  AIR 开发使用 openWithDefaultApplication 报以下错误:

    Error: Error #3000: Illegal path name.

    1、确认路径是否正确。

    2、-app.xml 文件添加配置

    <supportedProfiles>extendedDesktop</supportedProfiles>

    如果不是 extendedDesktop 项目,仅仅只是在 supportedProfiles 填写了 desktop ,在 debug 模式下同样会报错,正式发布后就好了。或者同时将两个都写上:

    <supportedProfiles>extendedDesktop desktop</supportedProfiles>

    extendedDesktop 要放在前面,desktop 放在后面,这样在调试模式下也不会报错。

    Jan

    21

    在一个简单的 Alert 警告框后,如果想将程序化的设置某个文本输入框的焦点,可以在 Alert 的 CloseEvent 事件侦听器里设置,但那样会多写不少代码。一个小技巧是直接在 Alert 之前对想要设置的文本框调用 setFocus() 方法,就可以在关闭 Alert 后显示聚焦了(不要写在 Alert.show 的后面)。

    someTextInput.setFocus();//一定记得写在Alert前面
    Alert.show("someTextInput 不能为空。");
    //someTextInput.setFocus();//不要写在Alert后面 

    Jan

    16

    许多中低端安卓设备的性能普遍比较低,在安卓配置的节点中加入 colorDepth 参数,强制 16 位颜色,可以提供应用的性能(会牺牲颜色保真度,颜色过渡可能会不自然),尤其是在使用 Stage2D 原生显示对象开发时它会特别有用。

    <android>
        <colorDepth>16bit</colorDepth>
        <manifestAdditions><![CDATA[
            <manifest android:installLocation="auto">
                <!--删除 android.permission.INTERNET 权限将导致无法调试设备上的应用程序-->
                <uses-permission android:name="android.permission.INTERNET"/>
                <!--其它的已省略-->
            </manifest>
        ]]></manifestAdditions>
    </android>

    特别注意的是,当应用中包含视频并使用了 StageVideo 时,就必须使用 32 位,否则就会无法播放。

    Jan

    14

    AIR SDK 19+ for iOS 加载远程资源

    • 0 Comments
    • Flash Platform

    一段普通常见的加载代码:

    var loader:Loader = new Loader();

    loader.load(new URLRequest("http://www.zinewow.com/images/logo.gif"));

    this.stage.addChild(loader);

    桌面 AIR (包括模拟器)加载服务器远程资源时一般只要路径正确就不会出问题, 真机调试时除了路径必须正确之外,还要求符合苹果的安全限制。否则在 AIR SDK 19+ 以上的版本就会报以下的错误: 

    Error #2044: Unhandled IOErrorEvent:. text=Error #2036: Load Never Completed

    真机调试必须在 -app.xml 里针对 iPhone 节点添加以下配置,以便允许 APP 可以访问所有域名和 IP 地址:

    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>

    也可以是单个的域名和 IP 地址:

    <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSExceptionDomains</key>
            <dict>
                <key>你的域名.com或你的IP地址</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSExceptionAllowsInsecureHTTPLoads</key>
                    <true/>
                </dict>
            </dict>
        </dict>

    这些配置要求是 Apple 出于 iOS 系统中对 APP 的网络安全相关的内容《Information Property List Key Reference》,并不是属于 Adobe 公司 AIR 的安全限制,所以在 Adobe 上是找不到这些资料的。只要 Adobe 的程序员使用的 XCODE 版本升级后保持最新,那么他们所编译出来的 AIR SDK 版本也一定会符合 Apple 的新规定。AIR SDK 旧版本比如16、17等版本并不会报这个错误,因为这个配置要求是苹果公司 2015 年中时提出的,所以新的 19 + 以上的 SDK 版本才会报这个错误。