0
我剛剛嘗試在Swift項目中導入名爲DDHotKey的Objective-C庫,並且在某些情況下它不起作用。無法在Swift項目中使用Objective-C庫
這裏是我做的步驟:
- 下載 「DDHotKey」 庫
- 右鍵單擊項目 - > 「添加文件到%PROJECT_NAME%」 - >選擇「DDHotKey主「文件夾」複製項目,如果需要「複選框和」創建文件夾引用「單選按鈕啓用
- 根據Apple文檔,提示有關橋接頭應出現然後,但它didn'tt--文件只是複製到項目的目錄
- 我試着將橋接頭添加到p使用名稱「bridge.h」手動創建項目(文件 - >新建 - >源代碼 - >頭文件),將其設置爲項目設置(構建設置 - > Swift編譯器 - 代碼生成 - > Objective- C橋接頭 - >「並將以下代碼放在此文件中:
。
#ifndef project_name_bridge_h
#define project_name_bridge_h
#import "DDHotKey-master/DDHotKeyCenter.h"
#endif
現在它編譯如下代碼:
var hotKeyCenter = DDHotKeyCenter.sharedHotKeyCenter()
但是,當我試圖調用這個對象的方法,我得到了一個錯誤:
hotKeyCenter.registerHotKeyWithKeyCode(34, modifierFlags: 0, task: (NSEvent) {
println("str")
})
Missing argument for parameter 'action' in call
雖然有是兩種方法,我使用不同的一種:
- (DDHotKey *)registerHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags target:(id)target action:(SEL)action object:(id)object;
- (DDHotKey *)registerHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags task:(DDHotKeyTask)task;
爲什麼?我究竟做錯了什麼?我該如何解決它?
在此先感謝。
啊,對不起,非常感謝。不幸的是,它現在沒有鏈接 - 出於某種原因,它看不到像DDHotKeyCenter這樣的符號,並給我一個錯誤「架構x86_64的未定義符號:」_OBJC_CLASS _ $ _ DDHotKeyCenter「」。可能是這種行爲的原因是什麼? – FrozenHeart 2015-04-01 13:44:02
這是一個無關的問題。你幾乎肯定無法鏈接DDHotKeyCenter。如果你認爲你是,在一個新的問題中描述你的情況(儘管搜索所以將objc鏈接到swift可能會幫助你)。 – 2015-04-01 14:02:44