Заголовочный файл не найден при использовании файла xcconfig в ios Project
Я использую файлы xcconfig для определения ключей в режиме отладки и выпуска. Это мой подфайл:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'MainTarget' do
use_frameworks!
pod 'Alamofire','~>4.4'
pod 'KFSwiftImageLoader'
pod 'FMDB'
pod 'Fabric'
pod 'Crashlytics'
pod 'Charts'
pod 'OpenSSL-Universal'
pod 'EVReflection'
pod 'Socket.IO-Client-Swift'
pod 'GoogleMaps'
end
target 'Target2' do
use_frameworks!
pod 'Alamofire','~>4.4'
end
target 'Target3' do
use_frameworks!
pod 'Alamofire','~>4.4'
end
target 'NetworkLibrary' do
use_frameworks!
pod 'Alamofire','~>4.4'
end
Target2, Target3, Network Library - это фреймворки, добавленные в проект. Вот мой dubug.xcconfig:
#include "Pods/Target Support Files/Pods-MainTarget/Pods-MainTarget.debug.xcconfig"
#include "Pods/Target Support Files/Pods-NetworkLibrary/Pods-NetworkLibrary.debug.xcconfig"
#include "Pods/Target Support Files/Pods-Target1/Pods-Target1.debug.xcconfig"
#include "Pods/Target Support Files/Pods-Target2/Pods-Target.debug.xcconfig"
MAIN_KEY = 3145bjk34
FULL_KEY = 23bjkkj31
Я определил release.xcconfig аналогичным образом (просто меняя значения ключей и включая модуль). Я получаю сообщение об ошибке FMDB.h файл не найден. Почему я могу получить это? До добавления конфигов все работало нормально. Я добавил свои конфигурационные файлы на вкладке Информация тоже.
Интересно, что если я изменю свой подфайл следующим образом, он будет работать нормально:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'MainTarget' do
use_frameworks!
pod 'Alamofire','~>4.4'
pod 'KFSwiftImageLoader'
pod 'FMDB'
pod 'Fabric'
pod 'Crashlytics'
pod 'Charts'
pod 'OpenSSL-Universal'
pod 'EVReflection'
pod 'Socket.IO-Client-Swift'
pod 'GoogleMaps'
end
target 'Target1' do
use_frameworks!
pod 'Alamofire','~>4.4'
pod 'KFSwiftImageLoader'
pod 'FMDB'
pod 'Fabric'
pod 'Crashlytics'
pod 'Charts'
pod 'OpenSSL-Universal'
pod 'EVReflection'
pod 'Socket.IO-Client-Swift'
pod 'GoogleMaps'
end
target 'Target2' do
use_frameworks!
pod 'Alamofire','~>4.4'
pod 'KFSwiftImageLoader'
pod 'FMDB'
pod 'Fabric'
pod 'Crashlytics'
pod 'Charts'
pod 'OpenSSL-Universal'
pod 'EVReflection'
pod 'Socket.IO-Client-Swift'
pod 'GoogleMaps'
end
target 'NetworkLibrary' do
use_frameworks!
pod 'Alamofire','~>4.4'
pod 'KFSwiftImageLoader'
pod 'FMDB'
pod 'Fabric'
pod 'Crashlytics'
pod 'Charts'
pod 'OpenSSL-Universal'
pod 'EVReflection'
pod 'Socket.IO-Client-Swift'
pod 'GoogleMaps'
end
Если я добавляю все модули в фреймворки, все работает нормально. Почему это происходит?
1 ответ
Попробуйте вместо этого унаследовать пути поиска. Вот версия вашего Podfile, которую вы можете попробовать.
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'MainTarget' do
pod 'Alamofire','~>4.4'
pod 'KFSwiftImageLoader'
pod 'FMDB'
pod 'Fabric'
pod 'Crashlytics'
pod 'Charts'
pod 'OpenSSL-Universal'
pod 'EVReflection'
pod 'Socket.IO-Client-Swift'
pod 'GoogleMaps'
target 'Target2' do
inherit! :search_paths
end
target 'Target3' do
inherit! :search_paths
end
target 'NetworkLibrary' do
inherit! :search_paths
end
end
Если это не сработает, abstract_target
может сделать трюк
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
abstract_target 'Defaults' do
pod 'Alamofire','~>4.4'
pod 'KFSwiftImageLoader'
pod 'FMDB'
pod 'Fabric'
pod 'Crashlytics'
pod 'Charts'
pod 'OpenSSL-Universal'
pod 'EVReflection'
pod 'Socket.IO-Client-Swift'
pod 'GoogleMaps'
target 'MainTarget' do
end
target 'Target2' do
end
target 'Target3' do
end
target 'NetworkLibrary' do
end
end