Tag: flex mobile

Flex Degrafa在AIR 3.9下的bezier spline

我有一个在iOS上运行的移动Flex项目,使用Degrafa的库来使用它的BezierSpline类。 目的是为了能够直接在屏幕上绘制,用户手势给出的点集合然后使用该库转换成贝塞尔曲线。 然而,我的应用程序最近一旦显示至less包含这些曲线之一的页面就会崩溃。 我没有得到任何错误,堆栈跟踪或任何东西,应用程序只是被杀死,我被带回到iOS桌面。 显然这个错误发生在BezierSpline类的.draw()函数的某个地方。 此外,我注意到,这只是在应用程序的发行版上发生,无论是通过AppStore(看起来像他们没有注意到),或通过在iPad上部署的发行包。 在模拟器中或者在设备上直接使用debugging包,一切正常。 由于我有一段时间没有发布任何发行包,我不确定哪些修改可能造成这种情况。 我唯一知道的是,我最近更新了Flash Builder到4.7和AIR到3.9(这是该项目的其他function所需的)。 所以我基本上有三个问题: 在这种情况下,应用程序只能在释放模式下崩溃,而不能在debugging模式下崩溃? 代码保持不变。 有人曾经遇到过使用Degrafa及其BezierSpline类的问题吗? 这可能是由于将AIR升级到最新的3.9版本引起的? 编辑 :我刚testing完全相同的代码在Android设备下,曲线显示正确,所以这只是在iOS设备上部署时发生。

为什么TLF文本在设备模式下的debugging工作,但不是在发布特设?

我创build了一个包含文本TLF的swf。 之后,我已经加载了一个灵活的移动应用程序。 一开始我有很多问题需要加载。 1-首先是因为我使用了Loader,而这个项目是用Flash Profesional创build的。 最好的方法是使用Flash Professional中包含的Flash库的ProLoader加载它。 2-有一次,我终于加载,并在桌面上的模拟器尝试它我在我的iPad在debugging和快速编译模式尝试。 我有下一个错误: 错误#2100:Loader.loadBytes()中的ByteArray参数的长度必须大于0。 我解决了在FLA中使用发布设置库中的选项“在代码中组合”中进行编译的问题。 大! iPad中的TLF正常工作! 在iOS的作品! 3-但是,当我build立了一个相同的代码(以前在设备上debugging的作品)的版本,当我打开它, 我只看到图像。 不是文字。 为什么在debugging和不释放? 你知道我忘了吗? 非常感谢。 编辑添加一些代码 我embedded了swfs并将它们加载到项目渲染器中。 该列表有一个id的数据提供者。 而且我在每个项目渲染器中加载与id对应的swf。 [Embed(source="/bin/histologia.swf")] public const PAG_01:Class; [Embed(source="/bin/histologia.swf")] public const PAG_02:Class; public function set data( value:Object ):void { … var pagAsset:Class = pagesAssets.assets[value]; var pag:MovieClip = new pagAsset(); var SWFClass:ByteArray = pag.movieClipData; var ldrContext:LoaderContext […]

使用Flex Mobile 4.6在iOS上载图书馆或捕获的图像

有没有人有使用iOS 4.6的Flex 4.6中的相机API的经验? 我遇到了很多设置问题,缺less文档。 我正在尝试设置一个图片上传组件,用户可以在其中捕捉新照片或从其库中select一个现有的图片。 对于捕捉,当图像被保存为JPEG时,似乎有一个巨大的悬挂(像10秒,应用程序只是无响应),我正在使用Alchemy SWC。 private var cam:CameraUI; protected function takePhotoHandler(event:MouseEvent):void { if(CameraUI.isSupported) { cam = new CameraUI(); cam.addEventListener(MediaEvent.COMPLETE, mediaEventComplete); cam.launch(MediaType.IMAGE); } } protected function mediaEventComplete(e:MediaEvent):void { cam.removeEventListener(MediaEvent.COMPLETE, mediaEventComplete); status.text = "Media captured…" ; var imagePromise:MediaPromise = e.data; var loader:Loader = new Loader(); if(imagePromise.isAsync) { status.text = "Asynchronous media promise." ; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, asyncImageLoadHandler); […]