Смешивание модулей Swift и ObjC не работает

У меня есть подфайл только с модулями Objective-C, который выглядит так:

source 'https://github.com/CocoaPods/Specs.git'
target "myProject" do
    pod 'GoogleMaps'
    pod 'GooglePlaces'
    pod 'GooglePlacePicker'
    pod 'GoogleMaps'
    pod 'RMMapper'
    pod 'Parse'
    pod 'Mapbox-iOS-SDK'
    pod 'PocketSVG', '~> 0.7'
    pod 'Fabric'
    pod 'Answers'
    pod 'lottie-ios'
end
post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end

и связующий заголовок, который выглядит так:

#import <Parse/Parse.h>
#import <GoogleMaps/GoogleMaps.h>
#import "PocketSVG.h"
#import <Lottie/Lottie.h>

Теперь я хочу добавить Alamofire, модуль Swift. Так что я должен использовать use_frameworks!, и мой подфайл выглядит так:

source 'https://github.com/CocoaPods/Specs.git'
target "myProject" do
    pod 'GoogleMaps'
    pod 'GooglePlaces'
    pod 'GooglePlacePicker'
    pod 'GoogleMaps'
    pod 'RMMapper'
    pod 'Parse'
    pod 'Mapbox-iOS-SDK'
    pod 'PocketSVG', '~> 0.7'
    pod 'Fabric'
    pod 'Answers'
    pod 'lottie-ios'
    pod 'Alamofire'    # Added
    use_frameworks!    # Added
end
post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end

но когда я пытаюсь построить свой проект, я получаю 2 ошибки:

Первый находится в моем заголовке моста:

Файл PocketSVG.h не найден

Второй не в конкретном файле:

Не удалось импортировать заголовок моста

Любая идея, как я могу это исправить?


person FS.O6    schedule 21.04.2017    source источник


Ответы (2)


use_framework сделает библиотеки, указанные в файле модуля, связанными как динамические библиотеки. Вы должны использовать #import <PocketSVG/PocketSVG.h> или @import PocketSVG;

person leavez    schedule 21.04.2017

Попробуйте так

  1. открыть подфайл командой -> открыть подфайл

и поместите приведенный ниже текст в этот подфайл

target 'Myproject' do
 platform :ios, '10.0'
 use_frameworks!
 pod 'GoogleMaps'
 pod 'GooglePlaces'
 pod 'GooglePlacePicker'
 pod 'GoogleMaps'
 pod 'RMMapper'
 pod 'Parse'
 pod 'Mapbox-iOS-SDK'
 pod 'PocketSVG', '~> 0.7'
 pod 'Fabric'
 pod 'Answers'
 pod 'lottie-ios'
 pod 'Alamofire' 
end

После этого не нужно добавлять дополнительные строки, просто введите команду pod install, надеюсь, это сработает!

person Bhupat Bheda    schedule 21.04.2017
comment
@ FS.O6 ты установил кокос? - person Bhupat Bheda; 21.04.2017
comment
Конечно, и все работает нормально, когда я удаляю pod "Alamofire"' and the 'use_frameworks! - person FS.O6; 21.04.2017
comment
@ FS.O6 Пожалуйста, обратитесь к этому, я надеюсь, вы сможете понять stackoverflow.com/questions/20755044/how-to-install-cocoa-pods - person Bhupat Bheda; 21.04.2017
comment
@ FS.O6, просто пройдите один раз шаги, и тогда вы сможете понять - person Bhupat Bheda; 21.04.2017
comment
Давайте продолжим это обсуждение в чате. - person Bhupat Bheda; 21.04.2017