由于新的安全性,Catalina 升级后无法使用旧的 NDK (android-ndk-r17c)
Cannot use old NDK (android-ndk-r17c) after Catalina upgrade due to new security
升级到 macOS Catalina 后,我的项目将无法再构建。这是因为 Catalina 认为 'android-ndk-r17c' 中的二进制文件不是来自受信任的开发人员。
您会收到如下消息:
“无法打开“ld”,因为无法验证开发人员。”
"macOS cannot verify that this app is free from malware"
由于本机 openCV 库 SDK 和较新的 NDK 存在问题,我不得不使用旧的 NDK。他们正在努力,但较新的 SDK 对我来说还不够稳定。
通过转到安全窗格并单击安全警报上的 "Allow Anyway",我能够绕过 "clang" 和 "clang++" 无法工作。但是,当使用 "Id" 尝试此操作时,我可以通过单击 "Allow Anyway" 来克服第一个警告,但它似乎随后被调用,并且在随后的调用中我没有允许它打开的选项。
真的没有代码。我只是(并且已经有很长一段时间了)Android Studio NDK 参考通过配置指向旧的 NDK。
在来自 NDK 的 IDE 中,无法加载 "Id":
“无法打开“ld”,因为无法验证开发者。"
"macOS cannot verify that this app is free from malware"
我刚刚找到了解决方案。
这是一个乏味的过程,但是:
- MacOS:打开系统偏好设置
- MacOS:转到“安全和隐私”(保持此打开状态,您将在整个过程中需要它)
- Unity:去构建你的项目。出现错误时单击 "Cancel"
- MacOS:在安全和隐私中 window - 去点击 "clang" 错误附近的 "Allow" - 这样 MacOS 系统就会识别并使用该应用程序。
- 错误会再次出现,但这次会要求你"Open"它。单击 "Open"
- 由于各种依赖关系,构建将失败几次,但它会失败,因为您需要像前面的步骤一样允许不同的文件。
- 再次构建您的项目。
- 如果失败,请重复上述步骤,直到不再失败。文件未被识别的每一个错误每次都会不同
要允许在 MacOs Catalana 上从任何地方下载应用程序,请执行以下操作:
sudo spctl --master-disable
我想补充 Mudassar Ashraf 的回答。
如果在单击“取消”后没有看到“允许”选项,请在“安全”中切换“允许从以下位置下载的应用程序” window «App Store 和确定的开发者»。这将以某种方式使 «Allow» 按钮出现。然后将其切换回 «Anywhere»。如有必要,请重复。
如果出于某种原因在您的 安全和隐私 window 按钮 allow 中没有出现,那么只需将您的 ndk 移动到不同的目录并再次尝试整个过程。
在 ndk 目录 (ndkpath/toolchains/llvm/prebuilt/darwin-x86_64/bin/) 中找到您的 clang++
程序,然后右键单击并打开
现在有更好的解决方法。
您可以转到“安全与隐私”,打开 Developer Tools
并将您的终端应用程序添加到工具列表中。您的 IDE.
也可以这样做
解决方法上面已经说了。转到终端和 运行 此代码以允许来自“任何地方”的应用程序,并在安全性中确保选择“任何地方”。这将防止询问您 100 次是否允许从 xxx 下载 xxx 文件以及多次构建失败。
sudo spctl --master-disable
升级到 macOS Catalina 后,我的项目将无法再构建。这是因为 Catalina 认为 'android-ndk-r17c' 中的二进制文件不是来自受信任的开发人员。
您会收到如下消息: “无法打开“ld”,因为无法验证开发人员。” "macOS cannot verify that this app is free from malware"
由于本机 openCV 库 SDK 和较新的 NDK 存在问题,我不得不使用旧的 NDK。他们正在努力,但较新的 SDK 对我来说还不够稳定。
通过转到安全窗格并单击安全警报上的 "Allow Anyway",我能够绕过 "clang" 和 "clang++" 无法工作。但是,当使用 "Id" 尝试此操作时,我可以通过单击 "Allow Anyway" 来克服第一个警告,但它似乎随后被调用,并且在随后的调用中我没有允许它打开的选项。
真的没有代码。我只是(并且已经有很长一段时间了)Android Studio NDK 参考通过配置指向旧的 NDK。
在来自 NDK 的 IDE 中,无法加载 "Id":
“无法打开“ld”,因为无法验证开发者。" "macOS cannot verify that this app is free from malware"
我刚刚找到了解决方案。
这是一个乏味的过程,但是:
- MacOS:打开系统偏好设置
- MacOS:转到“安全和隐私”(保持此打开状态,您将在整个过程中需要它)
- Unity:去构建你的项目。出现错误时单击 "Cancel"
- MacOS:在安全和隐私中 window - 去点击 "clang" 错误附近的 "Allow" - 这样 MacOS 系统就会识别并使用该应用程序。
- 错误会再次出现,但这次会要求你"Open"它。单击 "Open"
- 由于各种依赖关系,构建将失败几次,但它会失败,因为您需要像前面的步骤一样允许不同的文件。
- 再次构建您的项目。
- 如果失败,请重复上述步骤,直到不再失败。文件未被识别的每一个错误每次都会不同
要允许在 MacOs Catalana 上从任何地方下载应用程序,请执行以下操作:
sudo spctl --master-disable
我想补充 Mudassar Ashraf 的回答。
如果在单击“取消”后没有看到“允许”选项,请在“安全”中切换“允许从以下位置下载的应用程序” window «App Store 和确定的开发者»。这将以某种方式使 «Allow» 按钮出现。然后将其切换回 «Anywhere»。如有必要,请重复。
如果出于某种原因在您的 安全和隐私 window 按钮 allow 中没有出现,那么只需将您的 ndk 移动到不同的目录并再次尝试整个过程。
在 ndk 目录 (ndkpath/toolchains/llvm/prebuilt/darwin-x86_64/bin/) 中找到您的 clang++
程序,然后右键单击并打开
现在有更好的解决方法。
您可以转到“安全与隐私”,打开 Developer Tools
并将您的终端应用程序添加到工具列表中。您的 IDE.
解决方法上面已经说了。转到终端和 运行 此代码以允许来自“任何地方”的应用程序,并在安全性中确保选择“任何地方”。这将防止询问您 100 次是否允许从 xxx 下载 xxx 文件以及多次构建失败。
sudo spctl --master-disable