objective-c - 在 Mac OS X 中基于每个应用程序禁用“从 Internet 下载的应用程序”消息
问题描述
我对 MacOs 开发很陌生。我正在制作包含四个模块(目标应用程序)的 mac 应用程序。我需要在需要时启动所有子模块。所以我在下面使用。
NSString *filePath = [[NSBundle mainBundle] pathForResource:appName ofType:extension];
NSWorkspace *workSpace = [NSWorkspace sharedWorkspace];
NSString *appPathIs = [workSpace fullPathForApplication:filePath];
[workSpace launchApplication:appPathIs];
每次我从系统弹出从互联网下载的应用程序时启动模块时都会出现问题。我需要取消这个弹出窗口。
我经历了这么多,我尝试了一切,但我仍然无法解决这个问题。下面是我用过的东西。
- http://osxdaily.com/2010/09/12/disable-application-downloaded-from-the-internet-message-in-mac-os-x/
- 通过 NSTask 启动应用程序。
如果我使用 system("open -n applicationPath") 弹出没有第一次进入。但是,当我尝试第二次启动应用程序时,问题不会重新启动。
请尝试帮助我。提前致谢。
解决方案
最后!我找到了解决方案。当我们从从网站下载的 dmg 文件运行应用程序时。它在 ROM 中运行。所以我们不能改变ROM文件夹中的文件属性。
所以我们将这些文件从 ROM 文件夹复制到用户定义的文件夹,然后我们应用
xattr -d -r com.apple.quarantine /userdefinedPath/to/application/
然后我们可以避免子应用程序的弹出。
推荐阅读
- angular - Nativescript Angular RadListView 无法从远程服务器获取数据
- php - SQL SELECT WHERE 语句有效,但准备好的语句无效?
- android - RecyclerView 在 PreferenceFragment 中不能垂直滚动
- android - 如何在我的 Android Studio 上访问 Google 开发者文档?
- graphql - 日期之间的 Hasura graphql 查询
- python - 如何在 Kivy Screen 上打印文本值
- graph - networkx 随机图,二分集
- javascript - 为什么要使用带有 await 的异步函数而不仅仅是一个函数?
- python - TypeError:无法将表达式转换为浮点数,带有符号 x,多项式插值
- c++ - 错误:无法将变量 [变量名称] 声明为抽象类型 [子类]