2014-07-16 2 views
0

내 앱에서 ABUnknownPersonViewController를 사용하려했지만 영어로만 이루어졌습니다. AddressBookUI가 자동으로 시스템 언어로 표시되면 더 좋을 것이라고 생각합니다. 다른 언어로 표시하거나 내 컨트롤러를 만들어야하는 방법이 있습니까?AddressBookUI에서 ABUnknownPersonViewController를 현지화하는 방법은 무엇입니까?

갱신 : 코드

ABRecordRef aContact = ABPersonCreate(); 

    ABMutableMultiValueRef phoneNumbers = ABMultiValueCreateMutable(kABMultiStringPropertyType); 

    ABMultiValueAddValueAndLabel(phoneNumbers, (__bridge CFStringRef)labelNumber.text, kABPersonPhoneMainLabel, NULL); 


    ABRecordSetValue(aContact, kABPersonPhoneProperty, phoneNumbers, nil); 

    ABUnknownPersonViewController *picker = [[ABUnknownPersonViewController alloc] init]; 
    picker.unknownPersonViewDelegate = nil; 
    picker.displayedPerson = aContact; 
    picker.allowsAddingToAddressBook = YES; 
    picker.allowsActions = YES; 

    [self.navigationController pushViewController:picker animated:YES]; 

    [picker release]; 

    CFRelease(phoneNumbers); 
    CFRelease(aContact); 

편집 :이 사용자의 기본 시스템 언어를 기반으로 응용 프로그램에서 지원하는 언어로 표시됩니다

답변

0

난 그냥 프로젝트 현지화에 언어를 추가하는 것을 잊었다 . 보기 사과를 국산화

는 NSLocalizedString를 사용하고 그 사용

NSArray* preferredLanguages = [NSLocale preferredLanguages]; 
    NSString* languageCode = preferredLanguages[0]; 

당신은 처음 NSLocalizedString 사용하기 전에 변경할 수 있지만, 그것은 즉시 변경할 수 없습니다. 그것은 모든 NSLocalizedString의 언어를 변경할 것이라고 참고

+0

호출하지만 시뮬레이터 및 장치에 모두 확인 : 시스템 설정에서 설정 한 다른 언어,하지만 ABUnknownPersonViewController는 여전히 영어 – aterite

+0

확인, 그것은, 내가 추가 한있어 현지화에 나타납니다 프로젝트에 적용하면 효과적이다. – aterite