2015-07-17 1 views
4

У меня есть новый проект, в котором я использую XCode 7 beta 3 и Swift 2.0 с помощью GoogleMaps, импортированных через cocoapods. Это приложение WatchKit 2.0, поэтому у меня есть основная цель для iPhone (Destinations), цель для Apple Watch (Destinations WatchKitApp & Destinations WatchKitExtension) и внутренняя структура (DestinationsKit), которая делает тяжелую работу для взаимодействия с GoogleMaps среди другие вещи.Не удалось импортировать GoogleMaps в фреймворк в Xcode 7

Я могу успешно импортировать GoogleMaps в главную цель (Destinations) и успешно отобразил карту.

import UIKit 
import DestinationsKit 
import GoogleMaps 

class DestinationDetailsViewController : UIViewController 
{ 
    // our selected destination 
    var destination: Destination! 

    // our map view 
    var mapView : GMSMapView! 

    // ... code to display a map centering on the destination ... 
} 

Код, указанный выше, импортирует мою внутреннюю структуру, DestinationsKit и успешно использует GoogleMaps.

Однако теперь я пишу код, который вычисляет маршрут между двумя точками, и добавляю этот код во внутреннюю структуру (DestinationsKit). Всякий раз, когда я пытаюсь импортировать GoogleMaps, я получаю «Нет такого модуля» GoogleMaps ».

import Foundation 
import CoreLocation 
import GoogleMaps // Error 'No such module 'GoogleMaps'' 

public class UserTrip { 
} 

Я делал следующий без успеха:

  • «В Строительства Фаз» -> «Link Binary с библиотеками», я добавил Pods.Framework (что я сделал с успех в основной цели)
  • Set «Разрешить немодульные включает в Рамочных модулях» Да
  • Set «Упаковка» -> «Определяет модуль» Да в параметрах сборки

Моего файл Бобы выглядит следующим образом:

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

use_frameworks! 

pod 'GoogleMaps' 

Я гарантировал Pods.Framework входит в обеих целях. Итак, я не могу понять, почему главная цель может найти GoogleMaps, но моя внутренняя структура не может.

Заранее благодарен!

ответ

2

Конечно, как только я отправляю вопрос, я выясню причину.

Несмотря на то, что я вручную добавил Pods.framework в фазу сборки, мне нужно было обновить файл Pods, чтобы включить фреймворк в качестве цели, а затем снова запустить «pod install». Таким образом, обновленный файл Бобы является:

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

# We need to link with all targets. If target is added, this must be updated 

use_frameworks! 

pod 'GoogleMaps' 

link_with 'Destinations', 'DestinationsKit' 

target 'Destinations' do 
end 

target 'DestinationsKit' do 
end 

Не уверен, что если «целевые» линии необходимы, но хорошо, чтобы включать в себя так нацелены на конкретные зависимости есть дом.