由于 macOS v11(Big Sur)中的权限,无法运行应用程序

我昨天安装了 MacOS v11(Big Sur) ,从那以后我就不能运行一些旧的应用程序了。我得到的信息是:

您没有打开应用程序的权限

我认为这个应用程序来自一个不知名的开发人员。

我尝试了在 MacOS v10.15(Catalina)中使用的不同方法,比如:

spctl --master-disable

或者我也试图禁用 SIP 和 AMFI。

我也试过:

sudo xattr -rd com.apple.quarantine /Applications/my_app.app

如果我从终端运行应用程序,这是我得到的错误的文本版本:

应用程序不能被打开由于一个意外的原因,Error = Error Domain = NSOSStatusErrorDomain Code =-10826“ kLSNoLaunchPermisonErr: 用户没有权限启动应用程序(管理网络)”UserInfo = { _ LSfunction = _ LSLaunchWithRunningboard,_ LSLine = 2508,NSUnderlyingError = 0x7fcb24c13ec0{ Error Domain = RBSRequestErrorDomain Code = 5“启动过程退出”UserInfo = { NSLocalized披露失败原因 = 启动期间退出的启动进程。}}}

还试图禁用加密并运行:

csrutil authenticated-root disable

这是错误窗口:

Enter image description here

274754 次浏览

中的一个文件的权限问题。移动到应用程序目录的应用程序。

打开 Terminal 或 iTerm,键入“ chmod-R 755”并将。应用程序进入窗口,这将带来到终端或 iTerm 的完整路径。

它会像这样:

chmod -R 755 Path\ to\ app\ file.app

按回车键

然后,您可以正常地打开应用程序文件,但它将失败,因为看门人将无法验证该文件。从那里,进入你的“安全和隐私”在“系统首选项”,然后点击允许应用程序打开。

在我的案例中,这个问题与一个大 Sur 问题有关,在这个问题中 UPX 压缩的二进制文件没有被正确识别,所以它们没有被许可错误执行。

这里有一些更多的信息: UPX 压缩应用程序无法在最新的 MacOS 版本上启动: Big Sur 11.01 # 424

所以解决方案是用 UPX 解压二进制文件并正常运行它。

使用 自酿的(可执行 brew)安装 upx:

brew install upx

现在运行以下命令:

sudo upx -d /Applications/my_app.app/Contents/MacOS/my_app

(请注意,必须指定完整的二进制路径。)

您应该使用二进制文件的路径,而不是“/Applications/my _ app. app/Content/MacOS/my _ app”

然后正常运行应用程序。

你必须运行 SUDO xattr-d com.apple.antine < app > 。不要忘记 sudo,否则它不会工作,这一点很重要。

我遇到了这样的问题,错误是“终止原因: 命名空间代码设计,代码0x1”,我设法打开应用程序后,我再次在该机器上签名,用以下命令:

codesign --force --deep --sign - /Applications/AppName.app

没有其他办法对我有效。

这个答案只适用于一组特定的应用程序

我有这个问题与一个通用二进制(终端) ,我复制和明确设置的信息“打开使用罗塞塔”,以运行 x86工具,如 自酿的。在从11.0.0更新到11.0.1之后,终端的 x86版本停止使用上述错误。

我只需要删除这个副本,创建另一个终端副本,然后再次启用 Rosetta。

首先弄清楚您的应用程序签名是有效的:

来自 苹果官方网站:

应用程序商店里的所有应用程序都是由苹果公司签名的,以确保它们没有被开发出来 滥用或篡改。苹果公司签署任何应用程序,随苹果公司 设备。

你可以在你的终端中输入以下命令(Folx.app 的路径只是一个例子,你应该用你想要的应用程序替换它) :

pkgutil --check-signature /Applications/Folx.app

如果你得到一个“无效签名”的回复,比如: enter image description here

然后你的应用程序可能被安装在一些黑客的方式!现在最简单的方法就是卸载应用程序并重新安装。

否则,你将有很多艰难的时间来享受()与该应用程序,Xcode,和签名的东西..。

对我来说,这是唯一有效的解决办法。

下载 MacOS-GateKeeper-Helper

  • 打开 GateKeeper _ Helper。命令通过双击它(如果它说不信任的开发人员,继续运行它从设置-安全和隐私-一般-无论如何打开)

  • 选择选项4(从门卫隔离中删除应用程序)

  • 从 Applications 文件夹中拖放应用程序文件,按 Return键,输入密码

  • 你会看到一个类似“应用程序从隔离中移除”的信息。就是这样。试着像往常一样打开应用程序。

我在给一个同事发邮件测试我开发的一个 Mac 应用程序时遇到了这个问题。他在这个论坛上尝试了一些建议,但似乎并不奏效(而且我们都在英特尔工作,所以罗塞塔的建议并不适用)。

对我来说最终起作用的是创建一个空白磁盘映像,然后添加。应用程序文件的图像,然后发送给他的磁盘映像。看起来问题出现在。应用程序文件是压缩的,并且首先将文件添加到磁盘映像似乎有助于防止这个问题。

如果你正在上传一个 Xcode 应用程序到 GitHub 版本中,确保先在你的电脑上压缩它,不要让 GitHub 压缩它。

对于我的团队来说,Git 将 CRLF 添加到 Entitlements.plist 文件中是一个问题。

一旦我修复了 。 gittribute文件,只使用与 P-list文件低频,我建立了一个新的应用程序,并有它的共同设计和工作-没有中止。我还必须确保 詹金斯擦除了工作区,因为它一开始似乎没有修复文件。

我找到了解决办法:

  1. 你得放弃这个应用程序, (如有需要,安装 Xcode工具) :

    xcode-select --install
    
    
    sudo codesign --force --deep --sign - /Applications/YourAppName.app
    
  2. 将应用程序移至隔离区:

    sudo xattr -d -r com.apple.quarantine /Applications/YourAppName.app
    
  3. 转到 /Applications/YourAppName.app/Contents/MacOs并使文件内部为可执行文件:

    sudo chmod +x Script_name
    

这对我和应用程序启动起了作用。