2016-10-10 7 views
1

Я пытаюсь использовать объектный какао-код на основе C (GCM) в проекте iOS на основе Swift. У меня установлены контейнеры для какао, и я создал файл моста вручную, добавив его в настройки сборки в качестве файла моста. Проблема в том, что при компиляции файл bridge.h компилируется как Swift (когда, очевидно, он должен быть объективным C). Более явно - все строки внутри файлов include.h вызывают ошибки, а не файл BRIDG. Вот мой мост файлПытаясь использовать объект Cocoa для Objective C в проекте Swift, файл с мостом, скомпилированный как код Swift

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

#endif /* bridge_h */ 

Любая идея, что происходит не так и почему код импортируется не рассматривается как Objective C?

ответ

0

У вас есть возможность проверить и изменить тип файла в инспекторе файлов, когда у вас выбран ваш файл. Посмотрите, является ли это объектным-c заголовком.

+0

Я думал об этом, но на самом деле это не вариант. Только один заголовок - это заголовок C (по умолчанию и то, что я использую). Опция-c - исходный код и предварительно скомпилированный исходный код. Ни один из них не работает. –

1

С помощью коллеги мы выяснили, что этот мостовой файл должен содержать Foundation/Foundation.h и должен сделать это, прежде чем он включит что-нибудь еще. В противном случае он не скомпилируется.