Проблемы интеграции Chartboost с XCode 6.1
Я интегрировал Chartboost в Xcode 6.0 в том же проекте, и он работал нормально, но когда я обновил свой Xcode до Xcode 6.1, файл заголовка моста не может успешно скомпилироваться.
Я добавил платформу Chartboost в свой проект и добавил необходимые рамки, как указано в руководстве.
StoreKit
Фонд
CoreGraphics
UIKit
Я добавил эти строки в свой заголовочный файл моста
импорт Chartboost/Chartboost.h
импорт Chartboost/CBNewsfeed.h
импорт CommonCrypto/CommonDigest.h
импортировать AdSupport/AdSupport.h
Теперь, когда я пытаюсь построить свой проект, XCode дает мне много быстрых ошибок компилятора.
Вот ошибки, которые я получаю...
/Users/myprojectBridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:16:42: ошибка: определение функции здесь не разрешено typedef NS_ENUM(NSUInteger, CBFramework) { ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: note: in файл включен в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:33:42: ошибка: определение функции здесь не разрешено typedef NS_ENUM(NSUInteger, CBLoadError) { ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в / Users / bewakoofmac / Desktop / myproject / Bridging-Header. h: 22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:62:43: ошибка: определение функции здесь не допускается typedef NS_ENUM(NSUInteger, CBClickError) { ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:87:9: ошибка: неизвестное имя типа 'NSString' typedef NSString * const CBLocation; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:135:25: ошибка: не удается найти объявление интерфейса для 'NSObject', суперкласса 'Chartboost' @interface Chartboost: NSObject ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:153:25: ошибка: ожидается тип + (void)startWithAppId:(NSString*)appId ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном из / Users / bewakoofmac / Desktop / myproject / Bridging-Header.h: 22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:154:25: ошибка: ожидается тип appSignature:(NSString*)appSignature ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:169:4: ошибка: ожидается, что тип + (BOOL)hasInterstitial:(CBLocation) местоположение; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:198:4: ошибка: ожидается тип + (BOOL)hasMoreApps:(CBLocation) расположение; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:229:23: ошибка: ожидается тип + (void)showMoreApps:(UIViewController *)viewController ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:244:4: ошибка: ожидается тип + (BOOL)hasRewardedVideo:(CBLocation) местоположение; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:274:25: ошибка: ожидается тип + (void)didPassAgeGate:(BOOL)pass; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:290:4: ошибка: ожидается тип + (BOOL)handleOpenURL:(NSURL *)url ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:290:24: ошибка: ожидается тип + (BOOL) handleOpenURL: (NSURL *) url ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в / Users / bewakoofmac / Desktop /myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:291:24: ошибка: ожидается тип sourceApplication:(NSString *)sourceApplication; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:309:4: ошибка: ожидается тип + (BOOL)handleOpenURL:(NSURL *)url ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:309:24: ошибка: ожидается тип + (BOOL) handleOpenURL: (NSURL *) url ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в / Users / bewakoofmac / Desktop /myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:310:24: ошибка: ожидается тип sourceApplication:(NSString *)sourceApplication ^ / Пользователи / bewakoofmac / Desktop / myproject / Bridging-Header.h: 22: 9: примечание: в файле включено в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:322:22: ошибка: ожидаемый тип + (void)setCustomId:(NSString *)customId; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:333:4: ошибка: ожидается тип + (NSString *)getCustomId; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:344:23: ошибка: ожидается тип + (void)setFramework:(CBFramework)framework; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:358:54: ошибка: ожидается тип + (void)setShouldRequestInterstitialsInFirstSession:(BOOL)shouldRequest; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:370:45: ошибка: ожидается тип + (void)setShouldPauseClickForConfirmation:(BOOL)shouldPause; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:384:49: ошибка: ожидается тип + (void)setShouldDisplayLoadingViewForMoreApps:(BOOL)shouldDisplay; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:396:40: ошибка: ожидается тип + (void)setShouldPrefetchVideoContent:(BOOL)shouldPrefetch; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:446:26: ошибка: ожидается тип + (void)setAutoCacheAds:(BOOL)shouldCache; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:458:4: ошибка: ожидается тип + (BOOL)getAutoCacheAds; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:474:31: ошибка: не удается найти объявление протокола для 'NSObject' @protocol ChartboostDelegate ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: note: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:496:4: ошибка: ожидаемый тип - (BOOL)shouldRequestInterstitial:(CBLocation) местоположение; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:513:4: ошибка: ожидается тип - (BOOL)shouldDisplayInterstitial:(CBLocation) местоположение; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:551:36: ошибка: ожидается тип с ошибкой:(CBLoadError); ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:565:31: ошибка: ожидается тип с ошибкой:(CBClickError); ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:615:4: ошибка: ожидается тип - (BOOL)shouldDisplayMoreApps:(CBLocation) местоположение; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:686:32: ошибка: ожидается тип с ошибкой:(CBLoadError); ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:705:4: ошибка: ожидается тип - (BOOL)shouldDisplayRewardedVideo:(CBLocation)location; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:743:37: ошибка: ожидается тип с ошибкой:(CBLoadError); ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:818:30: ошибка: ожидается тип с ошибкой:(CBLoadError); ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/Chartboost.h:867:4: ошибка: ожидание типа - (BOOL)shouldDisplayMoreApps __attribute__((устарело ("Начиная с версии 4.5, используйте shouldDisplayMoreApps: расположение (CBLocation)"));; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:22: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/Chartboost.h:937:32: ошибка: ожидается тип - (void)didFailToLoadMoreApps:(CBLoadError) __attribute __ ((устарело ("Начиная с версии 4.5, используйте didFailToLorore: ошибка для местоположения:(CBLocation)location"))); ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/CBNewsfeed.h:24:25: ошибка: не удается найти объявление интерфейса для 'NSObject', суперкласс 'CBNewsfeed' @interface CBNewsfeed: NSObject ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/CBNewsfeed.h:53:4: ошибка: ожидается тип + (NSArray *)getMessages; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/CBNewsfeed.h:66:26: ошибка: ожидается тип + (CBStory *)getMessage:(NSString *)messageId; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/CBNewsfeed.h:78:4: ошибка: ожидается тип + (NSUInteger)messageCount; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/CBNewsfeed.h:89:4: ошибка: ожидается тип + (NSUInteger)unreadMessageCount; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/CBNewsfeed.h:113:4: ошибка: ожидается тип + (BOOL)isNewsfeedUIVisible; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/CBNewsfeed.h:139:4: ошибка: ожидается тип + (BOOL)isNotificationUIVisible; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/CBNewsfeed.h:180:23: ошибка: ожидается тип + (void)setFetchTime:(NSUInteger)fetchTime; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/CBNewsfeed.h:203:50: ошибка: ожидается тип + (void)setShouldPauseStoryClickForConfirmation:(BOOL)shouldPause; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/CBNewsfeed.h:216:25: ошибка: ожидается тип + (void) didPassAgeGate: (BOOL) проход; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ / Users / bewakoofmac / Рабочий стол /myproject/Chartboost.framework/Headers/CBNewsfeed.h:232:31: ошибка: не удается найти объявление протокола для 'NSObject' @protocol CBNewsfeedDelegate ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: note: в файле, включенном из /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: import ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/CBNewsfeed.h:295:28: ошибка: ожидаемый тип - (void)didGetNewMessages:(NSArray *)messages; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/CBNewsfeed.h:319:36: ошибка: ожидается тип - (void)didFailToRetrieveMessages:(NSError *) ошибка; ^ /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23:9: примечание: в файле, включенном в /Users/bewakoofmac/Desktop/myproject/Bridging-Header.h:23: импорт ^ /Users/bewakoofmac/Desktop/myproject/Chartboost.framework/Headers/CBNewsfeed.h:340:4: ошибка: ожидание типа - (BOOL)shouldAutomaticsDisplayNotificationUI:(CBStory *) сообщение; ^:0: error: failed to import bridging header '/Users/bewakoofmac/Desktop/myproject/Bridging-Header.h'
1 ответ
ОБЪЯСНЕНИЕ:
Кажется, что некоторые модули и библиотеки не беспокоятся об импорте базовых фреймворков, так как ожидают, что они есть в вашем коде. Это не работает со Swift, так как изменился способ импорта фреймворков. Все, что вам нужно сделать, это добавить необходимые фреймворки в заголовочный файл моста.
ОТВЕТ:
В вашем конкретном случае он жалуется на NSObject
, NSString
и т.д... так что вам нужно добавить #import <Foundation/Foundation.h>
в вашем файле заголовка моста.
В моем случае это жаловалось на UIView
поэтому я добавил UIKit
,