2011-11-14 14 views
0

私は昨日10.6でxcode 3.2を使用していましたが、xcode 4.2で10.7にアップグレードしました。xcode 3.2でうまくいったアドレス帳プロジェクトはxcodeの新しいバージョンでは動作しません。 is:(/Users/Blake/Development/g/g/ViewController.m:37:37:{37:37-37:56}{37:48-37:56}:エラー:Cポインタ型のキャスト 'CFStringRef '(別名 'constの構造体__CFString *')Objective-Cのポインタ型に 'NSStringの*' ブリッジ・キャストを必要とする[4]アドレス帳に電話番号の問題があります

phones = [[NSMutableArray alloc] init]; 
ABAddressBookRef addressBook = ABAddressBookCreate(); 
CFArrayRef peopleRecords = ABAddressBookCopyArrayOfAllPeople(addressBook); 

for (int i = 0; i < CFArrayGetCount(peopleRecords); ++i) 
{ 
    ABRecordRef recordRef = CFArrayGetValueAtIndex(peopleRecords, i); 
    ABMultiValueRef phoneRefs = ABRecordCopyValue(recordRef, kABPersonPhoneProperty); 

    for (int a = 0; a < ABMultiValueGetCount(phoneRefs); ++a) 
    { 
     CFStringRef phoneStr = ABMultiValueCopyValueAtIndex(phoneRefs, a); 
     NSString* phoneString = (NSString*)phoneStr; 
     [phones addObjectphoneString]; 
     CFRelease(phoneStr); 
    } 

    CFRelease(phoneRefs); 
} 

CFRelease(addressBook); 
CFRelease(peopleRecords); 

for (NSString *phone in phones) 
{ 
    NSLog(@"%@", phone) ; 
} 

答えて

0

私はこのようにそれを行う:

//get all phone numbers     
ABMultiValueRef phoneNumberProperty = ABRecordCopyValue(currentPerson, kABPersonPhoneProperty); 
NSArray *phoneNumbersArray = (NSArray*)ABMultiValueCopyArrayOfAllValues(phoneNumberProperty); 

その後、私はそれがNSStringのphoneNumbersArrayを消してください。

関連する問題