SBApplication(在本例中为SafariApplication)导致SIGKILL(Objective-C)



我有一个全局 SafariApplication 变量(来自脚本桥生成的 Safari 标头),当然,我将其设置为 Safari 应用程序:

self.safari = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"];

然后我通过以下方式检查当前选项卡的 URL:

SBElementArray *windows = [self.safari windows];
SafariWindow *window = [windows objectAtIndex:0];
SafariTab *tab = [window currentTab];
NSURL *url = [NSURL URLWithString:[tab URL]];

这工作正常。我每秒执行此操作两次,以获取有关用户在 Safari 中打开的内容的连续信息。
但是当我在 Safari 中打开一个新选项卡时,有时(可能是在我打开新选项卡的同时运行代码时),它会崩溃并给出 SIGKILL。大多数情况下,这发生在NSURL *url = [NSURL URLWithString:[tab URL]];'线,但这确实取决于。

我知道,真的很奇怪,但我不知道是什么原因造成的。

我尝试做同样的事情,但后来使用AppleScript,但这最终是一样的。

请帮帮我。

提前感谢,

埃里克·范德普拉斯

哇!在一些帮助下,我解决了它:只需在SBApplication(在本例中为SafariApplication)上setTimeout:到1或2(秒)等小时间间隔,代码就不会死锁您的程序,而只是在等待1或2秒后继续。在这种情况下,导致死锁的方法将返回 nil。

相关内容

  • 没有找到相关文章

最新更新