2014-11-21 3 views
2
import UIKit 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 

    let googleMapsApiKey = "AIzaSyDc7eBtBwvAWucUaJcI6chyc9zNhbLQFao" 

    func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool { 



    GMSservices.provideAPIKey(googleMapsApiKey) 
    return true 
    } 

} 

GMServices 오류가 계속 나타나는이 반복적 인 문제가 발생하지만 모든 관련 프레임 워크가 있습니다. 도움이 될 것입니다.신속한 미해결 식별자 'GMServices'사용

답변

2

Google Maps iOS SDK를 가져온 후 브리지 헤더를 정의해야 SDK가 인식됩니다.

이 브리지 헤더를 만들려면 임의의 Objective-C 파일 (예 : .m 파일)을 프로젝트에 추가하십시오. Xcode는 브리지 헤더를 구성 할 것인지 묻는 메시지를 표시합니다.

계속하려면 예를 클릭하십시오.

-Bridging-Header.h로 끝나는 파일이 프로젝트에 추가됩니다.

브리지 헤더에 #import를 추가하기 만하면됩니다.

또한 임시 Objective-C 파일을 지금 삭제해도 안전합니다. http://dubinski.org/wpis/google-maps-sdk-with-swift-tutorial/

+0

정확한 단계를 따랐지만 헤더 파일을 만들지 못했습니다. 그래서 .. 비슷한 프로젝트에서 헤더 파일을 가져 왔습니다. 괜찮습니까? –

+0

제 의견으로는 + nOS-iOS 소스 -> 헤더 파일로 새 파일을 만들어야하고 #import 를 그 파일로 가져와야합니다. –

+1

해결책을 찾았습니다! Xcode에서 타겟의 빌드 설정으로 들어가서 맨 아래로 스크롤하면 "Swift Compiler - Code Generation"섹션을 찾을 수 있습니다. "Objective-C Bridging Header"를 <#PROJECT_NAME> -Bridging-Header.h로 설정하십시오. 고마워요! –

1

프로젝트에 임시 목표 - C 파일을 추가합니다 : 자세한 내용은

은이 링크를 참조하십시오. 당신은 당신이 좋아하는 어떤 이름을 줄 수도 있습니다.

예를 선택하여 Objective-C 브리징 헤더를 구성하십시오.

방금 ​​만든 임시 Objective-C 파일을 삭제하십시오.

편집 AppDelegate.swift 파일 '< Google지도/GoogleMaps.h>를 # import에'방금 만든 프로젝트 이름-브리징-header.h가 파일에서

이 줄을 추가합니다 :

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    GMSServices.provideAPIKey("AIza....") //iOS API key 

    return true 
} 
1

최근에 내 코코아포드를 업데이트하면 이런 일이 일어났습니다. 지금은 다음을 참조하십시오

  • Using GoogleMaps (1.10.3)
  • COCOAPODS: 0.39.0

사용되는 브리지 헤더, 에서 가져 오기가 작동 할 수 있습니다.

이제 문제를 해결하기 위해 오류가있는 Swift 파일에 import GoogleMaps을 추가해야했습니다.

+0

고마워요! 귀하의 답변은 정말로 도움이되었습니다. 단지 #import 가 작동하지 않습니다. – eilas

+0

@eilas, 이것이 도움이 되서 기쁩니다. 행운을 빕니다! – yoninja