如何将 CEF3 嵌入到我的 OSX 应用程序中?
How can I embed CEF3 into my OSX application?
我喜欢在 OS X 项目中使用 Chromium 浏览器而不是 WebKit 浏览器。
- 我在 https://cefbuilds.com
下载了二进制文件
- 我用 cmake 构建了一个 cef.xcodeproj.
一旦我打开它并想要构建它。它首先给我带来了问题,因为 virtual bool Execute 需要被覆盖。当我解决该错误时,它会走得更远,但会在以下位置崩溃:
cefsimple /bin/sh: tools/make_more_helpers.sh: /bin/bash: bad interpreter: Operation not permitted
make: *** [cefsimple_buildpart_2] Error 126
Command /bin/sh failed with exit code 2
谁能解释一下我做错了什么?
在 OS X 版本 10.7.4 及更高版本中,扩展属性被添加到可执行文件(包括 shell 脚本)并由您为帐户定义的安全设置处理。例如,在您的一个构建脚本上检查 xattr
可能看起来类似于:
$ ls -l@ make_more_helpers.sh
-rwxr-xr-x@ 1 Hellman staff 3564 Sep 2 07:02 make_more_helpers.sh
com.apple.quarantine 23
当 Xcode 尝试执行脚本时(再次取决于您的安全设置),它将查看扩展属性并确定是否允许它执行。如果它发现脚本的创建者尚未获得批准,您将收到如下错误消息:
make_more_helpers.sh: /bin/bash: bad interpreter: Operation not permitted
幸运的是,它很容易修复,并且有很多方法可以补救它。一种这样的方法是将作为您构建的项目的一部分的脚本与 Xcode 相关联。您还可以在允许 运行 脚本的编辑器中打开脚本并重新保存它,或者只是递归扫描构建目录以查找具有隔离属性的文件并删除属性:
xattr -rd com.apple.quarantine /path/to/build
执行此操作后,您应该注意到在您的脚本上执行另一个 ls -l@
,应该删除权限后的 @
和 com.apple.quarantine
。现在,当您尝试构建项目时,应该允许脚本执行并成功。
我喜欢在 OS X 项目中使用 Chromium 浏览器而不是 WebKit 浏览器。
- 我在 https://cefbuilds.com 下载了二进制文件
- 我用 cmake 构建了一个 cef.xcodeproj.
一旦我打开它并想要构建它。它首先给我带来了问题,因为 virtual bool Execute 需要被覆盖。当我解决该错误时,它会走得更远,但会在以下位置崩溃:
cefsimple /bin/sh: tools/make_more_helpers.sh: /bin/bash: bad interpreter: Operation not permitted make: *** [cefsimple_buildpart_2] Error 126 Command /bin/sh failed with exit code 2
谁能解释一下我做错了什么?
在 OS X 版本 10.7.4 及更高版本中,扩展属性被添加到可执行文件(包括 shell 脚本)并由您为帐户定义的安全设置处理。例如,在您的一个构建脚本上检查 xattr
可能看起来类似于:
$ ls -l@ make_more_helpers.sh
-rwxr-xr-x@ 1 Hellman staff 3564 Sep 2 07:02 make_more_helpers.sh
com.apple.quarantine 23
当 Xcode 尝试执行脚本时(再次取决于您的安全设置),它将查看扩展属性并确定是否允许它执行。如果它发现脚本的创建者尚未获得批准,您将收到如下错误消息:
make_more_helpers.sh: /bin/bash: bad interpreter: Operation not permitted
幸运的是,它很容易修复,并且有很多方法可以补救它。一种这样的方法是将作为您构建的项目的一部分的脚本与 Xcode 相关联。您还可以在允许 运行 脚本的编辑器中打开脚本并重新保存它,或者只是递归扫描构建目录以查找具有隔离属性的文件并删除属性:
xattr -rd com.apple.quarantine /path/to/build
执行此操作后,您应该注意到在您的脚本上执行另一个 ls -l@
,应该删除权限后的 @
和 com.apple.quarantine
。现在,当您尝试构建项目时,应该允许脚本执行并成功。