1
모든 iPhone 주소록 연락처를 배열에 복사 한 다음이 배열을 파일에 쓰려고합니다. 다음 코드를 작성하고 버튼에 연결했지만이 버튼을 누르면 앱이 다운되었습니다.주소록 복사 만들기
이 문제를 해결하는 데 도움을주십시오.
내 방법 :
-(NSString *)pathOfFile{
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDirectory=[paths objectAtIndex:0];
return [documentsDirectory stringByAppendingFormat:@"contacts.plist"];
}
-(IBAction)createAddressBookCopy{
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
NSMutableArray *masterList = [[NSMutableArray alloc] init];
for (int i = 0; i < nPeople; i++) {
ABRecordRef ref = CFArrayGetValueAtIndex(allPeople, i);
CFStringRef fName = ABRecordCopyValue(ref, kABPersonFirstNameProperty);
CFStringRef lName = ABRecordCopyValue(ref, kABPersonLastNameProperty);
NSString *contactFirstLast = [NSString stringWithFormat: @"%@", (NSString *)fName];
CFRelease(fName);
CFRelease(lName);
[masterList addObject:contactFirstLast];
[contactFirstLast release];
}
//self.list = masterList;
[masterList writeToFile:[self pathOfFile] atomically:YES];
[masterList release];
}
** 여기가 내가 첫 번째 이름을 저장; 당신이 contactFirstLast
을 만들 때 당신은 그것을 소유
NSString *contactFirstLast = [NSString stringWithFormat: @"%@", (NSString *)fName];
// ....
contactFirstLast release]; // this is wrong
을하지 않고 당신은 그것을 해제됩니다
충돌 유형은 무엇입니까? –
앱이 종료됩니다. – Shahriar
시뮬레이터는 다른 앱 아이콘 (집의 가로 막 대형)이있는 앱 아이콘을 보여줍니다. – Shahriar