2013-05-09 52 views
6

我可以使用一些帮助让我的#AS3/#AIR应用程序在#iOS上运行!ADT可以使用ipa-test-interpreter,但不能使用ipa-test

现在,我在Windows(7)上使用Adobe AIR(v3.7)将.SWF(v11)转换为.IPA。

如果我使用ipa-test-interpreter的-target进行转换,它的效果很好。

如果我使用ipa-test,ipa-debug,ipa-ad-hoc或ipa-appstore进行转换,应用程序似乎编译正常,但在iPad上执行应用程序时它只显示黑屏。

将我的iPad连接到桌面和监视控制台输出,我看不到崩溃或生成的错误消息;该应用似乎在内部表现良好,它只是丢失了所有外部输出。

这意味着我可以测试和开发,但我永远无法真正能够部署到应用商店。其他人遇到这个?

谷歌搜索我遇到了遇到这个问题的其他人,但没有解决方案。我尝试过的一件事是删除所有本机扩展,并且我也尝试删除-C编译器指令。两者都没有运气。要明确的是,该应用在Mac,PC,Android,Browser和iOS上以解释器模式运行完全正常;它只是iOS上的原生编译而已。我听说有传言称ipa-test和ipa-interpreter具有不同的内存分配例程,但我对这里的低端知识还不够了解。

远程调试器(在FlashDevelop中)似乎也没有连接。不知怎的,我认为它在运行时完全失败之前失败了?我也在使用iphone-configuration-utility观察控制台输出,并且没有任何异常显示。与示例项目和说明

临时文件链接:https://dl.dropboxusercontent.com/u/1348446/test.zip

+0

是.swf文件编译的设置为'真'的'debug'标志? – 2013-05-11 22:37:45

+0

相同的行为设置任一方式。 – 2013-05-15 17:46:13

回答

2

想通了。活动流程:

ADT命令行有-C标志更改命令行,它可以让你保持你的项目更好地组织,并保持在命令行多一点理智上的当前工作目录。 -C可以在导入资产时多次调用,我多次使用它。像FlashDevelop这样的IDE也在AIR模板文件中使用-C,所以这是一种标准行为。作为资产纳入一个简单的例子:

ADT.exe [blah blah] assets/icons/icon1.png assets/icons/icon2.png 

相同

ADT.exe [blah blah] -C assets/icons icon1.png icon2.png 

(并与通配符使用)是一样的

ADT.exe [blah blah] -C assets/icons . 

因为我有不同的编译指令设置为iOS,Android,蒸汽等,我有adt切换目录与变量到当前配置并从那里执行。

这一切工作正常,并为-记录在IPA-测试解释模式。当在本机代码模式(IPA检验),但是,包括一个-C命令[某种方式因某种原因]后的主可执行.SWF弄乱内部路径功能;该文件最终被包含在内部,但最终在执行时内部全部为“文件未找到”,因此空白屏幕并且没有代码执行。

所以解决方法是简单地包括从当前目录中的.swf文件,以-C任何调用之前。正如我的解决方法,只是测试了,没关系的一个简单的例子:

copy /bin/flash/game.swf ./ 
adt [stuff] game.swf -c assets/icons . 
del game.swf 

我已经得到的触摸与Adobe关于这个,希望他们将修复-C所以它的功能是相同的两个编译目标中未来。

0

我已经看到这种情况发生在过去,由于“限制”组件的利用率从内部的iOS应用建立空气应用程序。特别是在能够使用加载器类加载应用程序资源之前的一天。

开始关闭并关闭应用程序的整个模块,并查看应用程序何时在iOS上构建和运行。我敢打赌,有一些代码在某些地方是Ipa测试解释器安全,但有奇怪的行为下Ipa测试

+0

是的,应用程序最终被简化为一个简单的hello-world,但仍然未能执行。 GRR。 – 2013-05-17 07:24:35

0

我看你仍然坚持这个问题。如果你可以找到一个Mac来测试,我敢打赌xcode仪器会显示你超出了你的内存限制。这是iPad的一个权利?你使用Flash的嵌入元标签?

+0

由于内存限制,游戏在iPad1上崩溃到桌面,是的。但在iPad2和新iPad上,它只是停留在黑屏上,不会抛出超出任何内存限制的警告或错误。该应用程序似乎正常运行,只是没有任何输出。 (即使应用程序尝试加载,也没有“闪屏”图像) – 2013-05-15 23:03:28

0

是你的swf背景色吗?如果是这样,也许这是一个跨域加载问题,因为你从两个不同的地方加载你的swf和app.xml。我不知道这是否会造成这种情况,但我通常将它们放在同一个地方。

你有没有见过你的规定& p.12在设备上工作?否则,这可能是他们的问题。

你用什么IDE来做这个,Flash IDE或Flash Builder,Flash Develop/ANT?如果你发布src代码,它会有所帮助。有时候把你的元数据放在错误的地方可能会导致iOS上的东西出现问题,但在浏览器中看起来很好......所以它可能是很多事情。

祝你好运。

相关问题