在Mac OS X中按应用程序禁用“从Internet下载的应用程序”消息

时间:2019-02-25 10:35:38

标签: objective-c macos

我对MacOs开发非常陌生。我正在制作包含四个模块(目标应用程序)的mac应用程序。我需要时需要启动所有子模块。所以我在下面使用。

NSString *filePath = [[NSBundle mainBundle] pathForResource:appName ofType:extension];
NSWorkspace *workSpace = [NSWorkspace sharedWorkspace];
NSString *appPathIs = [workSpace fullPathForApplication:filePath];
[workSpace launchApplication:appPathIs];

每次我从系统的互联网弹出窗口下载应用程序时,启动模块时都会出现问题。我需要取消此弹出窗口。

我经历了很多尝试,但我仍然无法解决这个问题。这是我使用过的以下物品。

  1. http://osxdaily.com/2010/09/12/disable-application-downloaded-from-the-internet-message-in-mac-os-x/
  2. 通过NSTask启动应用程序。

如果我使用的是system(“ open -n applicationPath”),则不会在第一次弹出。但是,当我尝试启动第二次应用程序时,问题没有重新启动。

请尝试帮助我。预先感谢。

1 个答案:

答案 0 :(得分:0)

最后!我找到了解决方案。当我们从网站上下载的dmg文件运行应用程序时。它在ROM中运行。因此,我们无法更改ROM文件夹中的文件属性。

因此我们将这些文件从ROM文件夹复制到用户定义的文件夹,然后应用

 xattr -d -r com.apple.quarantine /userdefinedPath/to/application/

然后我们可以避免子应用程序弹出该窗口。