Yep.Finally я получил решение этой проблемы.
Кстати, я использую Cocoapods для установки GCDWebServer в своем проекте, и я создаю свое телевизионное приложение вместе с моим телефонным приложением, но это разные цели.
В моем случае я использую Objective-C для написания своего приложения для телефона и использую Swift для написания телевизионного приложения. Поэтому я должен добавить заголовок соединения в моя телевизионная цель.
ЦЕЛИ> ВАШ-ТВ-ЦЕЛЬ> Настройки сборки> Компилятор Swift> Заголовок моста Objective-C> Добавить это
$(SRCROOT)/YOUR-TV-PROJECT/YOUR-PROJECT-MODULE-Bridging-Header.h
Затем я создаю этот файл заголовка в своем проекте и добавляю
#import <GCDWebServer/GCDWebServer.h>
#import <GCDWebServer/GCDWebServerDataResponse.h>
Как сделать мост между Swift и Objective-C, можно по этой ссылке:
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
Тогда я встречаю проблему с этим
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_GCDWebServer", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_GCDWebServerDataResponse", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_GCDWebServerRequest", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я подумал, что это может быть какая-то проблема с моим зданием. Возможно, некоторые библиотеки отсутствуют. Поэтому я иду в ЦЕЛИ> ВАШ-ТВ-ЦЕЛЬ> Строить фразу> Связать двоичный файл с библиотеками и добавляю эти фреймворки и т. д.:
libxml2.2.tbd
libz.1.2.5.tbd
CFNetwork.framework
MobileCoreServices.framework
UIKit.framework
Это этапы сборки моего TV-TARGET. Мы также должны проверить Pods > GCDWebServer > Build Settings и т. д. Поскольку он находится в модулях, нам нужно отредактировать Podfile и перестроить его. мой проект. Это подфайл. Вы должны разделить цели в подфайле.
source 'https://github.com/CocoaPods/Specs.git'
def common_pods
pod 'Fabric' , '~> 1.6.4'
end
def tv_pods
pod 'GCDWebServer' , '~ 3.3.2'
end
target :phoneApp do
link_with 'YOUR-PHONE-TARGET'
platform :ios, '8.0'
common_pods
end
target :tvApp do
link_with 'YOUR-TV-TARGET'
platform :tvos, '9.0'
tv_pods
end
После редактирования Podfile и запуска:
pod install
Вы можете вызвать GCDWebServer в своей TV-TARGET, и GCDWebServer хорошо работает в вашей tvOS. :-)
Надеюсь, это поможет вам.
person
CashLee李秉骏
schedule
28.04.2016