Я пишу приложение, которое использует внешние библиотеки через CocoaPods, такие как AFNetworking, ReactiveCocoa и т. д., и одну статическую библиотеку, которую я написал ранее. Статическая библиотека также содержит некоторые внешние библиотеки от CocoaPods.
Я сделал свою статическую библиотеку локальным модулем CocoaPods и импортировал ее как один из своих модулей.
Однако при компиляции моего нового приложения произошла ошибка.
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_YADAClientManager", referenced from:
objc-class-ref in DZPAppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
YADAClientManager
— это один из классов моей статической библиотеки, и единственный код, использующий его в моем новом приложении, находится в DZPAppDelegate.m, в application:didFinishLaunchingWithOptions:
[YADAClientManager sharedClientManager];
Как решить эту ошибку компиляции? И спасибо заранее.
Редактировать:
В параметре Build Phrase моего целевого приложения, параметре Link Binary With Libraries, я добавил файл *.a моей статической библиотеки, такой как libPods-MyApp. -MyStaticLibrary.a, описанная выше проблема решена, но появилась другая проблема, связанная с отсутствующими символами AFNetworking
и ReactiveCocoa
.
После того, как я добавил файлы *.a этих библиотек, проблема решена.
Но я не думаю, что это элегантный способ решить проблему.