我看到Adobe AIR使用WebKit作为其渲染,并且看到WebKit(至少是最新版本)具有一些SVG支持。这是否意味着(并且有人曾尝试过)Adobe AIR应用程序可以在HTML页面上呈现SVG?
编辑:由于答案我更改了发布的代码.我已经添加了该 Security.allowDomain("*") 行,该行会引发错误.那么,怎么做呢?
我想将Action Script 3.0应用程序运行到Flex应用程序中.为此,我做了以下事情:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication windowComplete="loadSwfApplication()" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private function loadSwfApplication()
{
// The next line throws me an error.
Security.allowDomain("*");
var urlRequest:URLRequest = new URLRequest("path/to/the/application.swf");
swfLoader.addEventListener(Event.COMPLETE, loadComplete);
swfLoader.load(urlRequest);
}
private function loadComplete(completeEvent:Event)
{
var swfApplication:* = completeEvent.target.content;
swfApplication.init(); // this is a Function that I made it in the Root class of swfApplication
}
]]>
</mx:Script>
<mx:SWFLoader id="sfwLoader"/>
</mx:WindowedApplication>
Run Code Online (Sandbox Code Playgroud)
问题是在调用swfApplication.init();AIR Player时会抛出异常:
安全沙箱冲突:调用者文件:///path/to/the/application.swf无法访问app所拥有的阶段:/SWFApplicationLoader.swf.
这是因为application.swf我在某处使用这样的舞台:
if (root.stage != null)
root.stage.addEventListener(Event.REMOVED, someFunction); …Run Code Online (Sandbox Code Playgroud) 如何使用Adobe Air下载和解压缩.ZIP文件夹?所以我有一个http链接到那个zip文件example.com/zip.zip我需要一个函数将它下载到用户硬盘上并将其解压缩到文件系统上的某个文件夹中.
怎么办这样的事情?(代码示例,请)
验证后我的登录代码:
var authTicket = new FormsAuthenticationTicket(
1,
userName,
DateTime.Now,
DateTime.Now.AddMinutes(20), // expiry
false,
roles,
"/");
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket));
Response.Cookies.Add(cookie);
Run Code Online (Sandbox Code Playgroud)
并且,感谢Darin Dimitrov,我有一个自定义的Authorize属性:
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
public class TJAuthorize : AuthorizeAttribute {
public override void OnAuthorization(AuthorizationContext filterContext) {
string cookieName = FormsAuthentication.FormsCookieName;
if (!filterContext.HttpContext.User.Identity.IsAuthenticated ||
filterContext.HttpContext.Request.Cookies == null || filterContext.HttpContext.Request.Cookies[cookieName] == null) {
HandleUnauthorizedRequest(filterContext);
return;
}
var authCookie = filterContext.HttpContext.Request.Cookies[cookieName];
var authTicket = FormsAuthentication.Decrypt(authCookie.Value);
string[] roles = authTicket.UserData.Split(',');
var userIdentity = …Run Code Online (Sandbox Code Playgroud) 我正在开发一个桌面应用程序,它使用Twitter的API密钥,但是AFAIK,AIR应用程序很容易反编译.我希望API请求的处理是客户端的,而不是服务器端的.至多,我希望将服务器上的依赖关系保持在尽可能低的水平.
我在想的是在第一次运行时将API从服务器发送到AIR应用程序.我已经在Ajax Adobe AIR应用程序中看到了API的共享秘密,但我的问题有点不同,我想知道ELS的安全性如何?
Adobe如何将其存储到ELS中?在最终存储在计算机上的某个地方之前,它是否经过多个加密会话?
我在flash中为iOs构建了一个应用程序.我成功生成了de .ipa包,但在iTunes上连接iphone和Ipad的应用程序节目,但我想在ipad上独家发布.我认为这与Flash构建器选项有关,但我似乎无法在Flash构建器或互联网上找到专门为ipad构建的选项.
有谁知道在Flash Builder中专门为ipad构建?
谢谢
我正在使用flex为iOS编写应用程序.我深入发展.
今天早上我的一位测试人员报告说我看到了一个我没有创建的基于弹性的弹出窗口.
我无法在这里发布图片,但是要描述弹出窗口 - 它有一个带有小按钮的灰色标题栏,看起来更像是一个柔性面板.据我所知,这不是标准flex弹出窗口的一部分.然后它在主窗口的左上角有一个问号图像.我相信这是flex在尝试加载图像时使用的图形但不能.弹出窗口的底部是一个文本输入框,预先填充了IP地址.我和测试人员的地址相同.最后在最底部是OK和Cancel按钮.
这些按钮的样式是因为我为我的应用设置了一个全局按钮外观.除此之外,我没有创建此弹出窗口,也无法在我的脚本中找到任何证据.
我立即在我自己的iPad上启动了相同的构建.我在发送之前测试了它,之前没有看到任何证据,但是当我今天早上测试它时,我也看到了这个弹出窗口.它似乎一夜之间发生了.
我做了一些测试,并发现如果我关闭所有互联网连接,那么应用程序甚至不会启动.它悬挂在闪屏上.我无法确定这个版本,但我知道以前的版本绝对可以脱机工作.
我已经在我的脚本中搜索了可能导致此问题的内容.我没有使用任何超出标准库的参考库,我没有使用任何ANE.我还检查了我正在处理的其他Flex应用程序,但它们看起来都很好.
有没有其他人遇到过这个?任何关于寻找什么或如何解决它的想法将不胜感激.
谢谢,
杰米
我在解决如何区分Return键盘上的Enter键和数字键盘上的键时遇到了一些麻烦.
我在分离其它键,重复,如取得了成功CTRL,ALT以及Shift通过使用:
if(e.keyLocation == KeyLocation.RIGHT) // is on right side of keyboard
or
if(e.keyLocation == KeyLocation.LEFT) // is on left side of keyboard
Run Code Online (Sandbox Code Playgroud)
但是,当尝试类似于将我的Enter密钥与我的Return密钥分开时,使用:
if(e.keyLocation == KeyLocation.NUM_PAD)
Run Code Online (Sandbox Code Playgroud)
闪存坚持治疗他们都喜欢他们来自KeyLocation.Standard另外值得一提的是,Flash将两个键的密码相同,具有完全相同的keyCode以同样的方式,(13) CTRL,ALT以及Shift共享相同的keyCode,但仍然不能KeyLocation像他们一样孤立.
有没有人对如何解决这个问题有任何想法?或者这仅仅是AS3的限制?谢谢.
编辑:值得一提的是,我正在开发这个用于Adobe AIR作为桌面应用程序.
所以,我继承了一个带有以下设置的游戏项目:
尽管奇怪的复杂性,整个事情工作得很好; 我们创建了功能性,可用的应用程序,a)在Android和iOS设备上工作,以及b)通过提交标准.
快进几个月; 该游戏现已通过测试版,并已准备好进行初始发布.Android,一切都很顺利.iOS,另一方面......在我们尝试将1.0上传到iTunes Connect前几天,Apple改变了他们的要求.突然间,我们收到错误"提交到App Store的应用程序和应用程序更新必须使用Xcode 5.1.1或更高版本的公共(GM)版本以及iOS 7 SDK或更高版本构建.不要提交使用beta构建的应用程序软件." 很好,这个错误让很多开发人员在9月份绊倒了.最终Adobe发布了AIR 15,打包的IPA再次满足了Apple的提交要求.
不幸的是,更新到AIR 15会破坏applecart.我们现在能够上传IPA,但具有讽刺意味的是,它无法在iOS设备上运行.加载屏幕(由纯AS3"包装器"SWF生成)出现,但是当标题屏幕(由"核心"SWF生成)应该出现时,什么都没有.黑屏,没有活动,或者(在某些后来的尝试中),即时,无消息的应用程序消失).在iOS控制台上没有生成错误,在FDB中单步执行应用程序时(直到应用程序蒸发并且FDB失去与远程主机的连接)才会发生任何不当行为.
其他重要信息:
我尝试更新过程中涉及的每个组件,AIR 15和16 beta的各种更新.所有列出的haxelibs.我们甚至尝试将"核心"项目(以最粗略的方式)移植到OpenFL.所有这些都导致版本适用于Windows(桌面,而不是手机),在Android上工作,但不适用于iOS.
Haxelib图书馆:原文:
actuate: 1.6.4 [1.6.5]
air3: [0.0.1]
haxelib_client: [3.1.0-rc.3]
hxcpp: [3.0.2]
nme: [4.0.2]
openfl: [1.0.6]
openfl-tools: [1.0.10] 1.0.8
starling: [1.2.2]
swf: [1.0.2]
Run Code Online (Sandbox Code Playgroud)
特别好吃的:
actuate: 1.7.0 [1.7.5]
air3: [0.0.1]
haxelib_client: 3.1.0-rc.3 [3.1.0-rc.4]
hxcpp: 3.0.2 [3.1.39]
hxcs: [3.1.1]
lime: [2.0.0-alpha.4]
nme: [4.0.2] 5.1.8
openfl-compatibility: [1.0.1]
openfl-html5: [1.4.2-beta]
openfl-native: [1.4.0]
openfl-tools: [1.0.10]
openfl: 1.1.1 2.0.1 [2.1.2]
starling: [1.2.2]
swf: …Run Code Online (Sandbox Code Playgroud) 我很喜欢Adobe提供给我在Adobe Flash CC 2015中开发的iOS AIR游戏的游戏中心ANE.我下载了最新的ANE,应该是64位,但是当我尝试编译文件,甚至导出电影时(Ctrl) +输入),我收到此错误:
Test Movie terminated.
The content cannot be loaded because there was a problem loading an extension: Error: Requested extension com.adobe.ane.gameCenter is not supported for Windows-x86.
Run Code Online (Sandbox Code Playgroud)
当我尝试使用Adobe的Gaming SDK中包含的"gameCenter.ane"文件时,我收到一条错误消息:
META-INF/ANE/iPhone-ARM/libgameCenter.a are required to have universal iOS libraries. Please contact the ANE developer(s) to get the same.
Run Code Online (Sandbox Code Playgroud)
我能够使用原始包含的gameCenter.ane文件(来自Gaming SDK)导出电影(Ctrl + Enter),但不能在使用64位时导出.
有任何想法吗?
谢谢!