iOS11에서 CLPlaceMark의 name에서 취할 수 있는 값이 바뀌었다고 생각해 검증하면, 이상한 프로퍼티인 것을 알았다
그것은 iOS11 대응에서 일어났다.
MapKit을 이용하여 아래 샘플과 같이 위도경도에서 주소를 취득했을 때 iOS10과 11에서는 CLPlaceMark에서 취득할 수 있는 정보에 차이가 있음을 발견했습니다.
샘플let geocoder = CLGeocoder()
// 東京タワー(東京都港区芝公園4丁目2番8号)のlocationを作る
let location = CLLocation(latitude: 35.658581, longitude: 139.745433)
// 経度、緯度から逆ジオコーディングして住所を取得する
geocoder.reverseGeocodeLocation(location) { (placeMarkArray, error) in
let placemark = placeMarkArray?.first
//ここでCLPlaceMarkから住所情報を取得可能
}
iOS10까지의 경우
속성
안의 값
이름
시바 공원 4가 2번 8호
isoCountryCode
JP
contry
일본
postalCode
105-0011
administrativeArea
도쿄도
subAdministrativeArea
nil
locality
미나토구
subLocality
시바 공원
thoroughfare
시바 공원 4초메
subThoroughfare
2번 8호
iOS11의 경우
속성
안의 값
이름
〒105-0011
isoCountryCode
JP
country
일본
postalCode
105-0011
administrativeArea
도쿄도
subAdministrativeArea
nil
locality
미나토구
subLocality
시바 공원
thoroughfare
시바 공원 4초메
subThoroughfare
2번 8호
알아보기 좋은 분이라면 깨달았다고 생각합니다만 name 로부터 돌아오는 값이 지금까지와 전혀 다릅니다.
iOS10까지라면 throughfare와 subThoroughfare를 합체시킨 문자열을 취득할 수 있었습니다만, iOS11로부터 기호 첨부의 우편 번호를 취득으로 하게 되어 있습니다.
덧붙여서, Document의 name 프로퍼티의 란에는, 이하와 같이 쓰여져 있으므로, iOS11에서 어떤 이유로 바뀌었는지 수수께끼네요.
수정 방법
iOS10 이전에 name 속성에서 정보를 얻는 경우 iOS11 이상에서도 사용할 수 있도록 thoroughfare와 subThoroughfare를 결합한 문자열로 변경해야 할 것입니다.
해외 주소에서도 해봤다.
백악관
백악관//ホワイトハウス(ワシントンD.C.ペンシルベニア大通り1600)
let location = CLLocation(latitude: 38.897667, longitude: -77.036611)
속성
안의 값
이름
백악관
isoCountryCode
미국
country
미국
postalCode
20500
administrativeArea
DC
subAdministrativeArea
nil
locality
워싱턴 D.C.
subLocality
Washington Mall
thoroughfare
Pennsylvania Ave NW
subThoroughfare
1600년
뭐라고 말할 것입니다. iOS10과 11 모두 동일한 정보를 얻을 수있었습니다.
게다가 name에는 thoroughfare와 subThoroughfare의 조합된 문자열이 아니라 제대로 백악관과 들어 있습니다.
그렇다면 name은 고유 명사를 얻을 수 있다는 것입니까?
그렇지만, 그 경우라면 최초의 도쿄 타워의 위도 경도를 넣은 경우는, name에는 도쿄 타워가 들어가 있는 것은? 라는 의문이 떠오르고 점점 이상합니다.
풀 하우스
만약, name에는 고유명사 들어간다고 하면, 예를 들면 고유명사가 없는 민가의 위도 경도를 입력하면 어떻게 되는 것일까요.
하지만 마음대로 민가의 위도 경도를 넣어 여기에 쓸 수 없으므로 드라마 '풀하우스'의 모델이 된 민가의 위도 경도를 입력해 봅시다.
태너 집// フルハウスのタナー家のモデルとなった民家(1709 Broderick St, San Francisco, California)のlocation
let location = CLLocation(latitude: 37.786334, longitude: -122.441976)
속성
안의 값
이름
1709 Broderick St
isoCountryCode
미국
contry
미국
postalCode
94115
administrativeArea
CA
subAdministrativeArea
샌프란시스코
locality
샌프란시스코
subLocality
Lower Pacific Heights
thoroughfare
Broderick St
subThoroughfare
1709년
태너가도 iOS10과 11에서 차이가 없었습니다.
다만, 이번의 경우는, thoroughfare와 subThoroughfare가 조합된 캐릭터 라인을 name로부터는 취득할 수 있었습니다.
결론
・name 프로퍼티로 취득할 수 있는 정보는, 국내, 국외에서 흩어져 있으므로 조심한다.
・iOS10까지로, 일본 국내의 위도 경도를 넣어 name 프로퍼티로 주소의 일부를 취득하고 있었을 경우는, 11 이후에서도 사용할 수 있도록 thoroughfare와 subThoroughfare를 조합한다
・Netflix에서는 풀하우스 전 시즌을 볼 수 있는 데다, 오리지널 작품의 속편 풀러 하우스는 재미있다.
Reference
이 문제에 관하여(iOS11에서 CLPlaceMark의 name에서 취할 수 있는 값이 바뀌었다고 생각해 검증하면, 이상한 프로퍼티인 것을 알았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fr0g_fr0g/items/356d88ec906f2004f5f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
let geocoder = CLGeocoder()
// 東京タワー(東京都港区芝公園4丁目2番8号)のlocationを作る
let location = CLLocation(latitude: 35.658581, longitude: 139.745433)
// 経度、緯度から逆ジオコーディングして住所を取得する
geocoder.reverseGeocodeLocation(location) { (placeMarkArray, error) in
let placemark = placeMarkArray?.first
//ここでCLPlaceMarkから住所情報を取得可能
}
속성
안의 값
이름
시바 공원 4가 2번 8호
isoCountryCode
JP
contry
일본
postalCode
105-0011
administrativeArea
도쿄도
subAdministrativeArea
nil
locality
미나토구
subLocality
시바 공원
thoroughfare
시바 공원 4초메
subThoroughfare
2번 8호
iOS11의 경우
속성
안의 값
이름
〒105-0011
isoCountryCode
JP
country
일본
postalCode
105-0011
administrativeArea
도쿄도
subAdministrativeArea
nil
locality
미나토구
subLocality
시바 공원
thoroughfare
시바 공원 4초메
subThoroughfare
2번 8호
알아보기 좋은 분이라면 깨달았다고 생각합니다만 name 로부터 돌아오는 값이 지금까지와 전혀 다릅니다.
iOS10까지라면 throughfare와 subThoroughfare를 합체시킨 문자열을 취득할 수 있었습니다만, iOS11로부터 기호 첨부의 우편 번호를 취득으로 하게 되어 있습니다.
덧붙여서, Document의 name 프로퍼티의 란에는, 이하와 같이 쓰여져 있으므로, iOS11에서 어떤 이유로 바뀌었는지 수수께끼네요.
수정 방법
iOS10 이전에 name 속성에서 정보를 얻는 경우 iOS11 이상에서도 사용할 수 있도록 thoroughfare와 subThoroughfare를 결합한 문자열로 변경해야 할 것입니다.
해외 주소에서도 해봤다.
백악관
백악관//ホワイトハウス(ワシントンD.C.ペンシルベニア大通り1600)
let location = CLLocation(latitude: 38.897667, longitude: -77.036611)
속성
안의 값
이름
백악관
isoCountryCode
미국
country
미국
postalCode
20500
administrativeArea
DC
subAdministrativeArea
nil
locality
워싱턴 D.C.
subLocality
Washington Mall
thoroughfare
Pennsylvania Ave NW
subThoroughfare
1600년
뭐라고 말할 것입니다. iOS10과 11 모두 동일한 정보를 얻을 수있었습니다.
게다가 name에는 thoroughfare와 subThoroughfare의 조합된 문자열이 아니라 제대로 백악관과 들어 있습니다.
그렇다면 name은 고유 명사를 얻을 수 있다는 것입니까?
그렇지만, 그 경우라면 최초의 도쿄 타워의 위도 경도를 넣은 경우는, name에는 도쿄 타워가 들어가 있는 것은? 라는 의문이 떠오르고 점점 이상합니다.
풀 하우스
만약, name에는 고유명사 들어간다고 하면, 예를 들면 고유명사가 없는 민가의 위도 경도를 입력하면 어떻게 되는 것일까요.
하지만 마음대로 민가의 위도 경도를 넣어 여기에 쓸 수 없으므로 드라마 '풀하우스'의 모델이 된 민가의 위도 경도를 입력해 봅시다.
태너 집// フルハウスのタナー家のモデルとなった民家(1709 Broderick St, San Francisco, California)のlocation
let location = CLLocation(latitude: 37.786334, longitude: -122.441976)
속성
안의 값
이름
1709 Broderick St
isoCountryCode
미국
contry
미국
postalCode
94115
administrativeArea
CA
subAdministrativeArea
샌프란시스코
locality
샌프란시스코
subLocality
Lower Pacific Heights
thoroughfare
Broderick St
subThoroughfare
1709년
태너가도 iOS10과 11에서 차이가 없었습니다.
다만, 이번의 경우는, thoroughfare와 subThoroughfare가 조합된 캐릭터 라인을 name로부터는 취득할 수 있었습니다.
결론
・name 프로퍼티로 취득할 수 있는 정보는, 국내, 국외에서 흩어져 있으므로 조심한다.
・iOS10까지로, 일본 국내의 위도 경도를 넣어 name 프로퍼티로 주소의 일부를 취득하고 있었을 경우는, 11 이후에서도 사용할 수 있도록 thoroughfare와 subThoroughfare를 조합한다
・Netflix에서는 풀하우스 전 시즌을 볼 수 있는 데다, 오리지널 작품의 속편 풀러 하우스는 재미있다.
Reference
이 문제에 관하여(iOS11에서 CLPlaceMark의 name에서 취할 수 있는 값이 바뀌었다고 생각해 검증하면, 이상한 프로퍼티인 것을 알았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fr0g_fr0g/items/356d88ec906f2004f5f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
백악관
백악관
//ホワイトハウス(ワシントンD.C.ペンシルベニア大通り1600)
let location = CLLocation(latitude: 38.897667, longitude: -77.036611)
속성
안의 값
이름
백악관
isoCountryCode
미국
country
미국
postalCode
20500
administrativeArea
DC
subAdministrativeArea
nil
locality
워싱턴 D.C.
subLocality
Washington Mall
thoroughfare
Pennsylvania Ave NW
subThoroughfare
1600년
뭐라고 말할 것입니다. iOS10과 11 모두 동일한 정보를 얻을 수있었습니다.
게다가 name에는 thoroughfare와 subThoroughfare의 조합된 문자열이 아니라 제대로 백악관과 들어 있습니다.
그렇다면 name은 고유 명사를 얻을 수 있다는 것입니까?
그렇지만, 그 경우라면 최초의 도쿄 타워의 위도 경도를 넣은 경우는, name에는 도쿄 타워가 들어가 있는 것은? 라는 의문이 떠오르고 점점 이상합니다.
풀 하우스
만약, name에는 고유명사 들어간다고 하면, 예를 들면 고유명사가 없는 민가의 위도 경도를 입력하면 어떻게 되는 것일까요.
하지만 마음대로 민가의 위도 경도를 넣어 여기에 쓸 수 없으므로 드라마 '풀하우스'의 모델이 된 민가의 위도 경도를 입력해 봅시다.
태너 집
// フルハウスのタナー家のモデルとなった民家(1709 Broderick St, San Francisco, California)のlocation
let location = CLLocation(latitude: 37.786334, longitude: -122.441976)
속성
안의 값
이름
1709 Broderick St
isoCountryCode
미국
contry
미국
postalCode
94115
administrativeArea
CA
subAdministrativeArea
샌프란시스코
locality
샌프란시스코
subLocality
Lower Pacific Heights
thoroughfare
Broderick St
subThoroughfare
1709년
태너가도 iOS10과 11에서 차이가 없었습니다.
다만, 이번의 경우는, thoroughfare와 subThoroughfare가 조합된 캐릭터 라인을 name로부터는 취득할 수 있었습니다.
결론
・name 프로퍼티로 취득할 수 있는 정보는, 국내, 국외에서 흩어져 있으므로 조심한다.
・iOS10까지로, 일본 국내의 위도 경도를 넣어 name 프로퍼티로 주소의 일부를 취득하고 있었을 경우는, 11 이후에서도 사용할 수 있도록 thoroughfare와 subThoroughfare를 조합한다
・Netflix에서는 풀하우스 전 시즌을 볼 수 있는 데다, 오리지널 작품의 속편 풀러 하우스는 재미있다.
Reference
이 문제에 관하여(iOS11에서 CLPlaceMark의 name에서 취할 수 있는 값이 바뀌었다고 생각해 검증하면, 이상한 프로퍼티인 것을 알았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fr0g_fr0g/items/356d88ec906f2004f5f6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(iOS11에서 CLPlaceMark의 name에서 취할 수 있는 값이 바뀌었다고 생각해 검증하면, 이상한 프로퍼티인 것을 알았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fr0g_fr0g/items/356d88ec906f2004f5f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)