0

私はiPhoneアプリを持っています。ユーザーは連絡先を選択できます。選択すると、ユーザーが電話番号を選択する必要がある別のビューが開きます。

これはうまくいきます。ただし、電話番号にこのような国コードが含まれている+49 ...と、アプリがクラッシュします。

-(BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{
    ABMutableMultiValueRef multi = ABRecordCopyValue(person, property);
    CFStringRef phone = ABMultiValueCopyValueAtIndex(multi, identifier);

    ///....some code

    [self dismissModalViewControllerAnimated:YES];

    [personViewController.navigationController dismissModalViewControllerAnimated:YES];
    return NO;
}

この行で止まります

CFStringRef phone = ABMultiValueCopyValueAtIndex(multi, identifier);

ただし、ログにはエラー出力はありません。これを修正する方法はありますか?

4

1 に答える 1

1

その「+」をどこに挿入するかはわかりませんが、使用できるものに置き換えてみてください。

[yourString stringByReplacingOccurrencesOfString:@"+" withString:@"00"];

それでも問題が解決しない場合は、次のリンクをたどってみてください。 名簿電話番号(+45)プレフィックスがクラッシュの原因になっています。

于 2011-10-17T07:49:21.950 に答える