我正在尝试从Flex的AIR桌面应用程序启动iTunes应用程序。但是我无法像在try catch循环的catch错误中那样做。
以下是我用于从AIR打开iTunes的代码段:
try
{
if(currentOS.indexOf("Windows") >= 0)
{
prepareFilesForSynciOS('Windows');
fileItunes = File.applicationDirectory.resolvePath("C:\\Program Files (x86)\\iTunes\\iTunes.exe");
//fileItunes1 = File.applicationDirectory.resolvePath("C:\Program Files (x86)\iTunes\iTunes.exe");
//Alert.show(" fileItunes " + fileItunes.nativePath);
//Alert.show(" fileItunes1 " + fileItunes1.nativePath);
if(!fileItunes.exists)
{
fileItunes = File.applicationDirectory.resolvePath("C:\\Program Files\\iTunes\\iTunes.exe");
//fileItunes1 = File.applicationDirectory.resolvePath("C:\Program Files (x86)\iTunes\iTunes.exe");
//Alert.show(" fileItunes 64 " + fileItunes.nativePath);
//Alert.show(" fileItunes1 64 " + fileItunes1.nativePath);
}
fileItunes.openWithDefaultApplication();
}
else if(currentOS.indexOf("Mac") >= 0 )
{
prepareFilesForSynciOS('Mac');
fileItunes = File.applicationDirectory.resolvePath("/Applications/iTunes.app");
fileItunes.openWithDefaultApplication();
}
}
catch(e:Error)
{
//Alert.show("iTunes was not found on this Computer.");
navigateToURL( new URLRequest("http://www.apple.com/itunes/download/"));
}
当我对错误消息发出警告时,我得到了TypeError 1009。
感谢任何帮助。 :)
谢谢, ANKIT。
答案 0 :(得分:0)
访问Air安全沙箱之外的任何内容都是违规行为。您不能运行ITunes应用程序,除非它位于沙盒位置,而不是ITunes。
因为Air无法做到这一点,你可能不得不依赖原生扩展,即。,c ++或任何其他本机应用程序编程(我猜它们已经在某些地方可用)来调用itunes应用程序。使用Air的套接字在本机应用程序上调用它。