gpt4 book ai didi

objective-c - NSWorkspace 启动应用程序 : fails for the first time with root user

转载 作者:行者123 更新时间:2023-12-03 20:16:46 25 4
gpt4 key购买 nike

我正在尝试从我的 Mac OS X 上的另一个应用程序(比如 app1)启动我的一个应用程序(比如 app2) 10.7.4 .我正在使用以下代码:

[ [ NSWorkspace sharedWorkspace ] launchApplicationAtURL:[NSURL fileURLWithPath:appPath] options:NSWorkspaceLaunchDefault configuration:[NSDictionary dictionaryWithObject:[NSArray arrayWithObject: @"mode"] forKey:NSWorkspaceLaunchConfigurationArguments] error:&err];
这工作正常,除了第一次,即如果我们有一台新机器,那么第一次尝试从 app1 启动 app2 时失败,当第一次以 root 用户身份登录时,但随后工作正常。
以下是我在转储 NSError 时遇到的错误:

2012-11-05 07:47:48 +0000: The application “App2” could not be launched because a miscellaneous error occurred (OSStatus -10810).


另外,我在控制台的“ All Messages ”中收到以下消息:

11/4/12 11:47:48.329 PM com.apple.launchd[1]: System: Bug: 12B19: launchd + 79534 [AEF41441-17BC-36E6-B1F8-57BADBDFEBCF]: 0x0

11/4/12 11:47:48.329 PM com.apple.launchd[1]: System: This API can only be used by a process running within an Aqua session.

11/4/12 11:47:48.329 PM App1[2405]: spawn_via_launchd() failed, errno=5 label=[0x0-0x57057].com.ak.app1 path=/var/root/Library/Caches/com.ak.app2/app2.app/Contents/MacOS/app2 flags=0


奇怪的想法是它只在第一次尝试使用 root 用户时失败。

最佳答案

您似乎正在尝试从非 UI 进程启动应用程序。这不再受支持,因为它使用 LSOpenApplication在内部,它不支持自 Lion 以来的非 UI 进程。请看这个discussion欲了解更多信息

关于objective-c - NSWorkspace 启动应用程序 : fails for the first time with root user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13229234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com