我有一个在xCode 5中创建的应用程序,其中包含一个捆绑的可执行文件.我正在尝试将应用程序提交到Mac App Store,但是当我提交它时,它会失败并显示以下消息:
未启用应用程序沙箱 - 以下可执行文件必须在权利属性列表中包含布尔值为true的"com.apple.security.app-sandbox"权利.有关沙盒应用程序的更多信息,请参阅App Sandbox页面.
我创建了一个权利文件(EXECUTABLE_NAME.entitlements),其中包含'com.apple.security.app-sandbox'键,其值为'true'...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
...但应用程序仍然失败.
我错过了什么(或者我做错了什么)才能将捆绑的可执行文件代码签名?
我正在使用 Electron 创建(第一次)一个仅适用于 Mac 的小型应用程序。我正在尝试使用 ipcRenderer 在我的应用程序菜单和主 BrowserWindow 中的内容之间进行通信。
我将菜单设置如下以发送消息“选择活动”:
const {Menu} = require('electron')
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
const template = [
{
label: 'Fonts',
submenu: [
{
label: 'Select All Acitve Fonts',
accelerator: 'Command+A',
click (item, focusedWindow) { if(focusedWindow) focusedWindow.webContents.send('select-active') }
},...
Run Code Online (Sandbox Code Playgroud)
我收到的信息如下:
const ipcRenderer = require('electron').ipcRenderer;
ipcRenderer.on('select-active', function () {
console.log('SELECTED');
})
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,每次选择菜单命令时,消息都会在控制台中记录两次。我哪里错了?