4

ロケーションマネージャーから経度と緯度を取得しました。現在、ジオコードを逆にして、その情報をアドレス文字列に変換しようとしています。以下のコードを見つけました。これでうまくいくとされていますが、リンカーエラーが発生します。これは、フレームワークなどが不足していることを意味していると思います。答えが見つかりませんでした。誰か助けてもらえますか?

エラー:

Apple Mach-O Linker Error
"_KABPersonAddressZIPKey", referenced from:

生成しようとしている文字列ごとに、以下同様に続きます。

 CLGeocoder *geocoder = [[CLGeocoder alloc] init];
 CLLocation *newLocation = [[CLLocation alloc]initWithLatitude:latitude
                                                        longitude:longitude];
            [geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error)

            {  
                       if (error) {
                           NSLog(@"Geocode failed with error: %@", error);
                           return;
                       }

                       if (placemarks && placemarks.count > 0)
                       {
                           CLPlacemark *placemark = placemarks[0];

                           NSDictionary *addressDictionary = placemark.addressDictionary;

                           NSString *address = [addressDictionary objectForKey:(NSString *)kABPersonAddressStreetKey];
                           NSString *city = [addressDictionary objectForKey:(NSString *)kABPersonAddressCityKey];
                           NSString *state = [addressDictionary objectForKey:(NSString *)kABPersonAddressStateKey];
                           NSString *zip = [addressDictionary  objectForKey:(NSString *)kABPersonAddressZIPKey];

                           NSLog(@"%@ %@ %@ %@", address,city, state, zip);

                       }
            }
    ];
4

3 に答える 3

7

ドキュメントでkABPersonAddressStreetKeyを検索します。

http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABPersonRef_iPhoneOS/Reference/reference.html

一番上にあるのはAddressBookフレームワークです。だからあなたはそれにリンクする必要があります。

于 2012-10-29T04:13:11.013 に答える
6

次のフレームワークをプロジェクトに追加し、インポートします。

AddressBook.framework
AddressBookUI.framework

ここに画像の説明を入力してください

于 2012-10-29T04:13:32.070 に答える
2

投稿したコードは、AddressBookフレームワークの定数を使用しています。プロジェクトターゲットにAddressBookフレームワークを追加する必要があります。

于 2012-10-29T04:13:07.423 に答える