2015-08-03 11 views
25

Vorrei aggiungere GoogleMaps al mio progetto iOS ma non voglio utilizzare CocoaPods. C'è un modo per riuscirci?GoogleMaps senza CocoaPods

+0

non sei obbligato a utilizzare cocoapods o qualsiasi sistema di tracciamento versione. è necessario scaricare il repository da _GitHub_ e aggiungere manualmente i file al progetto. – holex

+0

Da quando è sempre richiesto il Cocoapod Oo – TheCodingArt

+0

@holex per quanto ne so non ce n'è uno - almeno per iOS: https://github.com/googlemaps?page=1 .. hai un link a uno se esiste? – user2243357

risposta

70

Certo c'è:

Come l'ho fatto (utile per qualsiasi libreria è necessario)

  • Vai al pod di cui hai bisogno, in questo caso: https://cocoapods.org/pods/GoogleMaps
  • Fare clic sul collegamento "Vedere Podspec" sotto Libreria nell'angolo in basso a destra
  • Stai andando portati al podspec.json
  • Alla fine del JSON, trovare la chiave "fonte" e utilizzare l'URL fornito a scarica l'SDK.

Se avete bisogno di istruzioni su come installarlo manualmente, è possibile utilizzare il websitea waybackmachine e mettere l'URL corrispondente, impostando una data precedente. Vi risparmio po 'di tempo:

Aggiunta di Google Maps alla vecchia maniera:

  1. lancio Xcode e sia aprire un progetto esistente, o creare un nuovo progetto.
    • Se sei nuovo in iOS, crea un'applicazione di visualizzazione singola e assicurati che l'opzione Usa conteggio riferimento automatico sia attiva.
  2. Trascina il pacchetto di GoogleMaps.framework nel tuo progetto. Quando richiesto, selezionare Copia elementi nella cartella del gruppo di destinazione.
  3. Fare clic con il pulsante destro del mouse su GoogleMaps.sframework nel progetto e selezionare Mostra nel Finder.
  4. Trascina il GoogleMaps.bundle dalla cartella Risorse al progetto. Quando richiesto, assicurarsi che gli elementi Copia nella cartella del gruppo di destinazione non siano selezionati.
  5. Seleziona il progetto dal Navigatore progetto e scegli la destinazione dell'applicazione.
  6. Aprire la scheda fasi di creazione, e nel giro di collegamento binario con le librerie, aggiungere i seguenti quadri:
    • AVFoundation.framework
    • CoreData.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libC++. Dylib
    • libicucore.dylib
    • libz.dylib
    • OpenGLES.quadro
    • QuartzCore.framework
    • SystemConfiguration.framework
  7. Scegliete il progetto, piuttosto che un obiettivo specifico, e aprire la scheda Impostazioni costruire.
    • Nella sezione Altre bandiere del linker, aggiungere -ObjC. Se queste impostazioni non sono visibili, modifica il filtro nella barra delle impostazioni di creazione da Base a Tutto.
  8. Infine, aggiungi la tua chiave API al tuo AppDelegate.
    • #import <GoogleMaps/GoogleMaps.h>
    • Aggiungere il seguente per il metodo di application:didFinishLaunchingWithOptions:, sostituendo api_key con la vostra chiave API. [GMSServices provideAPIKey:@"API_KEY"];

Aggiungere il seguente per il metodo di application:didFinishLaunchingWithOptions:, sostituendo API_KEY con la vostra chiave API.

[GMSServices provideAPIKey:@"API_KEY"]; 
+8

Avresti anche bisogno di CoreBluetooth.framework e Accelerate.framework, altrimenti otterrai errori di simboli non definiti. Testato su Xcode 7 per iOS 9 – marcos1490

+1

Ho seguito questa guida e ho ottenuto il framework installato manualmente - grazie per le informazioni! Ora ho un problema in cui non riesco a compilare la mia app, l'errore è: ld: framework non trovato GoogleMaps per l'architettura x86_64 clang: errore: comando linker non riuscito con codice di uscita 1 (usare -v per vedere l'invocazione) Qualche suggerimento? – edcs

+0

Grazie per questo! Secondo l'ultimo podspec [collegamento] (https://github.com/CocoaPods/Specs/blob/master/Specs/GoogleMaps/1.10.5/GoogleMaps.podspec.json), è necessario aggiungere anche il framework CoreGraphics. –

2
  1. https://www.gstatic.com/cpdc/aa3052925ceeea2d-GoogleMaps-1.13.2.tar.gz Copia e aprire questo URL.

  2. Trascina sul tuo progetto Xcode con GoogleMaps.framework.

    * selezionare le voci Copia nella cartella del gruppo di destinazione

  3. clic destro sul GoogleMaps.framework -Mostra nel Finder

  4. cartella Risorse All'interno GoogleMaps.bundle, trascinare questo progetto (* Non selezionare copia articolo).

  5. importare diversi FrameWork

    • CoreBluetooth.framework
    • OpenGLES.framework
    • ImageIO.framework
    • CoreData.framework
    • CoreText.framework
    • QuartzCore.framework
    • SystemConfiguration.fr amework
    • GLKit.framework
    • CoreLocation.framework
    • Security.framework
    • Accelerate.framework
    • libC++ abi.tbd
    • libC++. 1.tbd
    • libc.TBD
    • libicucore.tbd
  6. Scegli il tuo progetto di aprire la scheda Impostazioni costruire. Nella sezione Altri flag del linker aggiungi -ObjC in entrambi. Screen shot of adding -ObjC

  7. importazione

    Aggiungere il seguente alla vostra applicazione: didFinishLaunchingWithOptions: metodo, sostituendo api_key con la chiave API. [GMSServices provideAPIKey: @ "API_KEY"];

    (* get chiave https://developers.google.com/maps/documentation/ios-sdk/places#whats_in_the_api_name_ios_places api)

    Per favore fatemi sapere ogni errore che hai trovato. Funziona con Xcode 7 +, iOS 9+.