Подтвердить что ты не робот

Ошибка с использованием cocoapods "use_frameworks!" СВИФТ

У меня был чистый быстрый проект, используя некоторые cocoapods: Parse, AFNetworking и RESideMenu. Мне нужно использовать STZPopupView, поэтому я обновил cocoapods с последней версией:

gem install cocoapods

Затем я перезапустил его для моего проекта:

pod install

Из-за этой ошибки:

[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it.

Я обновил свой файл подкачки, добавив "use_frameworks!"

Мой подкайл теперь:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
use_frameworks!

source 'https://github.com/CocoaPods/Specs.git'

target 'isam' do
pod 'RESideMenu', '~> 4.0.7'
pod 'AFNetworking', '~> 2.5'
pod 'Parse', '~> 1.6'
pod 'STZPopupView', '~> 1.0'
end

target 'isamTests' do

end

Так как у меня есть 2 ошибки при создании:

  • Файл "RESIDMenu.h" не найден.
  • Не удалось импортировать заголовок моста "..../isam/Swift-Bridging-Header.h"

В моем проекте ничего не изменилось.

My Swift-Bridging-Header.h не изменяется:

#ifndef isam_Swift_Bridging_Header_h
#define isam_Swift_Bridging_Header_h

#import <Parse/Parse.h>
#import <RESideMenu.h>

#endif

В моих настройках сборки у меня есть:

builds settings

Я думаю, это из-за "use_frameworks!" в моем podfile, но я не знаю, как это сделать, чтобы использовать все мои модули для правильного создания моего приложения.

ИЗМЕНИТЬ:

Точные ошибки:

/path_of_my_project/Swift-Bridging-Header.h:12:9: error: 'RESideMenu.h' file not found
#import <RESideMenu.h>
        ^
<unknown>:0: error: failed to import bridging header '/path_of_my_project/Swift-Bridging-Header.h'
4b9b3361

Ответ 1

У меня на самом деле одна и та же проблема. Вы можете попробовать следующее: http://www.innerexception.com/2015/05/cocoapods-useframeworks-means-bridging.html

При использовании use_frameworks! в CocoaPods все ваши стручки будут использоваться как рамки, а не только быстрые стручки. Поэтому для этого вам не нужен заголовок для моста. Просто импортируйте свои стручки во все быстрые файлы, которые вам нужны. В вашем примере вам нужно написать: import RESIDMenu

Ответ 2

Попробуйте удалить isam/из Objective-C Bridging Header и иметь только Swift-Bridging-Header.h

Исходя из личного опыта, у CocoaPods все еще есть некоторые проблемы при объединении быстрых и объективных C-фреймворков. Вы можете использовать Alamofire, что почти эквивалентно AFNetworking для быстрого.

Надеюсь, это поможет.

Изменить: Кроме того, зачем использовать Objectice-C Parse в swift, когда вы можете напрямую использовать быстрые библиотеки.

Ответ 3

У меня была такая же проблема. Я изменил весь свой импорт с #import "RESideMenu.h" на #import <RESideMenu/RESideMenu.h>, например.