我一直尝试使用MASShortcut并按照说明在那里使用cocoapods添加它。然后我将它添加到我的< proj> -Bridging-Header.h 文件中,import
将其添加到我的主swift文件中,但我一直收到错误
没有这样的模块'MASShortcut'
这是我的设置:
AppDelegate.swift:
import Cocoa
import Carbon
import MASShortcut
var kShortCut: MASShortcut!
@IBOutlet weak var shortcutView: MASShortcutView!
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
override func awakeFromNib() {
... omitted ...
}
override func viewDidLoad() {
super.viewDidLoad()
shortcutView.shortcutValueChange = { (sender) in
let callback: (() -> Void)!
if self.shortcutView.shortcutValue.keyCodeStringForKeyEquivalent == "k" {
self.kShortCut = self.shortcutView.shortcutValue
callback = {
print("K shortcut handler")
}
} else {
callback = {
print("Default handler")
}
}
MASShortcutMonitor.sharedMonitor().registerShortcut(self.shortcutView.shortcutValue, withAction: callback)
和我的 Podfile :
target 'myapp' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'MASShortcut', '~> 2'
# Pods for myapp
target 'myappTests' do
inherit! :search_paths
# Pods for testing
end
end
最后 proj-Bridging-Header.h :
#import <Cocoa/Cocoa.h>
#import <MASShortcut/Shortcut.h>
答案 0 :(得分:1)
以下是AppDelegate的外观。请注意任何import MASShorcut
的缺席。
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
var kShortCut: MASShortcut!
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var shortcutView: MASShortcutView!
override func awakeFromNib() {
shortcutView.shortcutValueChange = { (sender) in
let callback: (() -> Void)!
if self.shortcutView.shortcutValue.keyCodeStringForKeyEquivalent == "k" {
self.kShortCut = self.shortcutView.shortcutValue
callback = {
print("K shortcut handler")
}
} else {
callback = {
print("Default handler")
}
}
MASShortcutMonitor.shared().register(self.shortcutView.shortcutValue, withAction: callback)
}
}
}
桥接标题应如下所示:
#ifndef Testin_Bridging_Header_h
#define Testin_Bridging_Header_h
#import <MASShortcut/Shortcut.h>
#endif /* Testin_Bridging_Header_h */
Shortcut.h
导入所有其他头文件。 Testin是我的应用程序的名称(当然要测试)
其他一些提示: