2016-10-10 38 views
1

我想在基於Swift的iOS項目中使用基於目標C的可可豆莢(GCM)。我安裝了可可豆莢,並且手動創建了一個橋接文件,並將其作爲橋接文件添加到生成首選項中。問題是,當我編譯時,bridge.h文件被編譯爲Swift(當然,它應該是客觀的C)。更明確地說 - included.h文件中的所有行都會引發錯誤,而不是bridg文件本身。這是我的橋文件試圖在Swift項目中使用Objective C可可豆莢,編譯爲Swift代碼的橋接文件

#ifndef bridge_h 
#define bridge_h 
#import <GoogleCloudMessaging.h> 

#endif /* bridge_h */ 

任何想法什麼錯誤,爲什麼要導入的代碼不被視爲目標C?

回答

0

當您選擇文件時,您可以檢查並更改文件檢查器中的文件類型。看看它是否是objective-c頭文件。

+0

我想到了這一點,但它實際上並不是一種選擇。只有標題選項是C頭(默認和我正在使用的)。 objective-c選項是源代碼和預編譯的源代碼。兩者都不起作用。 –

1

在同事的幫助下,我們發現橋接文件必須包含Foundation/Foundation.h,並且必須在包含其他任何東西之前完成。否則它無法編譯。

相關問題