В настоящее время я работаю над проектом, использующим CocoaPods. Это мой первый опыт их использования, и я хотел бы получить помощь в решении возникшей у нас проблемы.
У нас есть несколько приложений, использующих одни и те же модели данных. Вместо дублирования кода мы создали отдельный проект, который добавляется к каждому подпроекту в виде файла pod. В этом проекте у нас также есть много сторонних библиотек (Facebook SDK, GoogleAnalytics и т. Д.), Поскольку они используются во многих наших приложениях. Мы используем 2 библиотеки: Flurry 5.4.0 и Appsflyer. К сожалению, эти ребята представляют собой файлы .a, в отличие от других pod-файлов, которые возвращают файлы .h.
Базовый проект, который у нас есть, будет чист и компилирован без проблем. Но когда мы пытаемся добавить этот проект через модули в любой из подпроектов, это приводит к этой ошибке компиляции:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_AppsFlyerTracker", referenced from:
objc-class-ref in libPods.a(SHAnalyticsUtility.o)
"_OBJC_CLASS_$_Flurry", referenced from:
objc-class-ref in libPods.a(SHAnalyticsUtility.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я пробовал все разные методы обновления Podfile (https://github.com/CocoaPods/CocoaPods/issues/2018) и PodSpec (https://github.com/CocoaPods/Specs/issues/1483), но пока ничего не помогло. Любые предложения приветствуются :) PODSPEC
Pod::Spec.new do |s|
s.name = 'company-framework-ios'
s.version = '1.13.16'
s.platform = :ios
s.license = 'MIT'
s.summary = 'Framework for all the iOS apps'
s.source_files = 'CompanyFramework/CompanyFramework/*.{h,m}','CompanyFramework/CompanyFramework/**/*.{h,m}'
s.frameworks = 'QuartzCore', 'CoreLocation'
s.dependency 'Masonry'
s.dependency 'Mixpanel'
s.dependency 'GoogleAnalytics-iOS-SDK'
s.dependency 'AFNetworking', '2.4.1'
s.dependency 'NSDate+Calendar'
s.dependency 'RXPromise'
s.dependency 'SAMCategories'
s.dependency 'FlurrySDK'
s.dependency 'AppsFlyer-SDK'
s.dependency 'Facebook-iOS-SDK', '3.18.2'
s.ios.deployment_target = "7.1"
s.requires_arc = true
s.ios.vendored_library = 'Pods/FlurrySDK/Flurry/libFlurry_5.4.0.a'
s.ios.vendored_library = 'Pods/AppsFlyer-SDK/libAppsFlyerLib.a'
end
xcrun -sdk iphoneos lipo -info $(FILENAME)
- person Rene Kann   schedule 27.01.2015