2014-12-18 3 views
14

iOS 8.x.x의 MKMapView에서 문제가 있습니다. 응용 프로그램은 iOS 7.x.x에서는 잘 작동하지만 iOS 8.x.x에서는 작동하지 않습니다. 장치에서는 주석 만 표시되지만 뒤에는지도가 표시되지 않습니다.MKMapView가 iOS 8 이상에서 렌더링되지 않습니다.

내 장치를 강제로 재설정하려했지만 운이 없었습니다. 이 아이폰 OS (8)에 대한 요구 사항이었고, 이후

<key>NSLocationAlwaysUsageDescription</key> 
<string>Location is required to find out where you are</string> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>Location is required to find out where you are</string> 

내있는 viewDidLoad에서 코드의 라인을 추가로

은 나뿐만 아니라의 Info.plist에서이 두 값을 추가했다. 의 Info.plist에서이 두 값과 위의 코드 라인을 추가함으로써

// Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7. 
    if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) 
    { 
     [self.locationManager requestWhenInUseAuthorization]; 
     //[self.locationManager requestAlwaysAuthorization]; 
     self.myMapView.showsUserLocation = YES; 
    } 

, 나는 사용자의 위치를지도에 표시에 사용자의 위치 및 주석을 얻을 수있어하지만지도가 비어 있습니다. 이 게시물에 대한 유사

: MKMapView showing blank screen in iOS 8

Blank Map View with annotation

+0

누구든지 ...... ?? –

답변

19

는 시뮬레이션 및 장치 모두 IOS8.3에서 똑같은 일을했다. 맵을 다운로드 할 때까지 1 분 동안 시스템 맵 앱 (빈 그리드도 표시됨)을 실행하여 해결되었습니다. 그 후 내 MKMapView는 정상적으로 렌더링을 시작했습니다.

+0

좋은 답변. 그것은 나를 위해 작동합니다. 고마워요 @Pawel – alishaik786

+2

우리는 같은 문제가 있으며이 "패치"또한 우리를 위해 일하고 있습니다. IMO, 사용자에게 열린지도 앱을 방문하여 앱으로 돌아가도록 요청하는 것은 의미가 없습니다. 지도를 새로 고침하고지도를 다운로드하도록 강제하는 방법은 무엇입니까? 감사. – esylvestre

+0

지도 앱이 테스트 장치에서 열리지 않았기 때문에이 문제가 발생했습니다. 일단 그것이 열렸 더라면 나는 동의를 받아 들일 필요가 있었다. 지금 나의 자신의지도는 매번 완벽하게로드된다. – Leon

3

대리자 메서드를 추가해보십시오.
- (void)mapViewWillStartLoadingMap:(MKMapView *)mapView; - (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView; - (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error; 오류 메시지를 확인하십시오.

도 확인 this 해결 방법 나는 그라인드를 제거하지 못했지만 적어도 didFail 오류를 제거했습니다.

iOS8.3에서 동일한 코드가 작동하므로 iOS8의 문제인 것 같습니다.

관련 문제