Unity中使用c# Process在Mac上异常Win32Exception:
Unity中使用c# Process在Mac上异常Win32Exception:
http://blog.dou.li/Process-Mac-Win32Exception.html
在Unity中调用TexturePacker打包图集,核心代码如下:
Process p = new Process ();
p.StartInfo.FileName = "TexturePacker";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
p.WaitForExit();
在Windows上运行正常,Mac上报异常:
Win32Exception: ApplicationName='TexturePacker', CommandLine='',
CurrentDirectory='' System.Diagnostics.Process.Start_noshell
(System.Diagnostics.ProcessStartInfo startInfo,
System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common
(System.Diagnostics.ProcessStartInfo startInfo,
System.Diagnostics.Process process) System.Diagnostics.Process.Start
() (wrapper remoting-invoke-with-check)
System.Diagnostics.Process:Start ()
一番查找发现,Mac上应该用open命令调用目标应用,Mac版本的代码修改如下:
Process p = new Process ();
p.StartInfo.FileName = "open";
p.StartInfo.Arguments = "-a TexturePacker -n --args xxx";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
p.WaitForExit();
-n 启动新的TexturePacker实例--args 后面跟TexturePacker需要的参数
转载请注明:兜里-http://blog.dou.li/Process-Mac-Win32Exception.html
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)