Ios 为临时或存储编译时出现共享对象问题
我对AdobeAIR for iPad中的共享对象有一个问题 我很幸运地找到了解决办法,但我真的很想知道为什么我要这么做 问题如下: 我有一个应用程序,它使用共享对象来存储一些数据。当我在桌面上编译它或者直接从Flash Pro到ipad2进行调试时,它工作得很好。但我意识到,当我将应用程序上传到商店时,它不起作用,当我使用临时配置文件进行编译时,它也不起作用 过了一段时间,我意识到问题出在线路上,类似于:Ios 为临时或存储编译时出现共享对象问题,ios,actionscript-3,ipad,air,adobe,Ios,Actionscript 3,Ipad,Air,Adobe,我对AdobeAIR for iPad中的共享对象有一个问题 我很幸运地找到了解决办法,但我真的很想知道为什么我要这么做 问题如下: 我有一个应用程序,它使用共享对象来存储一些数据。当我在桌面上编译它或者直接从Flash Pro到ipad2进行调试时,它工作得很好。但我意识到,当我将应用程序上传到商店时,它不起作用,当我使用临时配置文件进行编译时,它也不起作用 过了一段时间,我意识到问题出在线路上,类似于: var so:SharedObject = SharedObject.getLocal(
var so:SharedObject = SharedObject.getLocal("appData");
if( so.data.varName != undefined ) ...
当我评论if时,ad hoc上的应用程序开始工作。因此,我将该行替换为:
if( so.data.hasOwnProperty("varName") ) ...
成功了
有人能解释我为什么要这么做吗?在测试swf时,它在FlashPro上运行得很好,在我将应用程序从FlashPro直接调试到ipad时,它也运行得很好,但在我为ad hoc或app store编译时,它不起作用。有什么想法吗
谢谢大家!
ps:当对象的动态属性不存在时,它们的默认值是否可能与未定义的常量不同?那么,当我只使用Swf时,为什么会起作用?
我在一个临时编译中用一个不存在的属性的值和类型填充了一个文本字段,它与swf中的值:未定义,类型:未定义相同。Adobe AIR一直存在一个问题,在ios发布模式下构建时,总是将否定的布尔值计算为true。当前的解决方法是将if语句从
if (!bool) {
foo();
}
else {
bar();
}
到
请参见谢谢您的回答!不幸的是,我无法重现你描述的错误。我已经在我的桌面和我的ipad上使用临时配置文件测试了以下代码,它运行良好且一致,所以我认为它可能是其他东西。var bool:Boolean=false;if(!bool){trace(“true”);}else{trace(“false”);}它在我的桌面和ipad中返回“true”。还有其他想法吗?
if (bool) {
bar();
}
else {
foo();
}