2015-12-06 20 views
10

Sto sviluppando un'applicazione utilizzando Google Maps. Spiegherò cosa ho fatto con google maps e forse tu puoi aiutarmi.iOS, ld: framework non trovato GoogleMaps per l'architettura arm64

Stavo usando i framework per le mappe di Google senza POD, ma dopo alcuni errori su Google map Key ho eliminato il riferimento a framework di google map e l'ho installato usando POD. Tutto sta funzionando bene, ma quando ho colpito

Product -> TEST

ora ottengo questo errore:

ld: framework not found GoogleMaps for architecture arm64 

Qualsiasi idea di come risolvere questo problema?

Grazie!

Podfile assomiglia a questo Cocoapods v1.0 beta 6):

platform :ios, '8.0' 
use_frameworks! 

target 'Project' do 
    pod 'GoogleMaps' 

    target 'ProjectTests' do 
     inherit! :search_paths 
     pod 'Mockingjay' 
    end 
end 
+0

sarà probabilmente una migliore idea di utilizzare Cocoapod, è davvero semplice per aggiungere biblioteca/quadro nel progetto, e questo approccio è meno soggetto a errori. – ztan

+1

Bene, grazie, come ho detto ... sto usando il pod di cacao in questo momento – Asinox

+0

@Asinox puoi aggiornare il tuo podfile? – HardikDG

risposta

2

Aggiornamento Si prega di verificare se avete stesse impostazioni di generazione nelle Architectures e Build active Architectures only chiavi degli obiettivi

tuo podfile dovrebbe assomigliare a questo

platform :ios, '8.0' 
use_frameworks! 

target 'Project' do 
    pod 'GoogleMaps' 
end 

target 'ProjectTests' do 
    //inherit! :search_paths 
    pod 'Mockingjay' 
end 

Terminare il target project prima di iniziare il target ProjectTest, anche perché si aggiunge inherit! :search_paths? di solito non è necessario a meno che non avere qualche requisito speciale risposta


Vecchio Se volete voi baccelli nel target di test che si deve aggiungere poi nel test anche lo stesso modo in cui si è aggiunto in obiettivo principale del progetto

Così i vostri baccelli di cacao come questo se "SwiftCocoaPods" è il nome del principale obiettivo

//other top level imports 
target “SwiftCocoaPods” do 
pod "GoogleMaps" 
end 

target “SwiftCocoaPodsTests” do 
pod "GoogleMaps" 
end 

allora si dovrebbe aggiungere cialde per il test anche come "SwiftCocoaPodsTests". è possibile sostituire il nome con qualsiasi cosa TEST nome di destinazione è

Altrimenti, se si desidera aggiungere gli stessi baccelli nella destinazione multipla è possibile utilizzare def e l'uso che in tutti gli obiettivi che assomiglia a questo

def project_pods 
pod "GoogleMaps" 
//add other pods which you want in all the targets 
end 

target “SwiftCocoaPods” do 
project_pods 
end 

//only add project_pods instead of pods individually 
target “SwiftCocoaPodsTests” do 
project_pods 
end 
+1

No. Il problema è che NON vogliamo includere Google Maps nella destinazione del test. Quindi Cocoapods viene utilizzato per includerlo solo nell'obiettivo principale. Tuttavia, per qualche motivo, il target del test crede ancora che sia necessario caricare GoogleMaps. – GnarlyDog

+0

@GnarlyDog, quindi non vuoi googlemap ma lo prende anche per la destinazione di prova? puoi aggiornare il tuo podfile? – HardikDG

+0

@GnarlyDog anche prima di fare downvoting voi ragazzi avete menzionato che non volete cocoapods nel target di prova, ma mostra/prende cocoapods nel target la vostra domanda attuale non dice questo, dice solo build fallita – HardikDG

0

questo funziona per me:

platform :ios, '9.0' 

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

def all_pods 
    pod 'GoogleMaps' 
end 

abstract_target 'Map Base' do 
    all_pods 

    target 'Map' do 

    end 

    target 'Unit Tests' do 

    end 

    target 'Device Tests' do 

    end 
end 
Problemi correlati