UIActivityViewController를 사용하여 새 iOS 6 공유 기능을 내 앱에 추가하려고합니다. 공유하고 싶은 텍스트가 있습니다. 전자 메일을 선택하면 자동으로 전자 메일의 제목도 설정하려고합니다.UIActivityViewController 충돌, NSCFConstantString _beforeActivity 인스턴스로 전송 된 인식 할 수없는 선택자
[694:907] items=(
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas porttitor accumsan mi eu mollis. Fusce condimentum dictum lectus, eu ultrices urna vulputate eu."
)
[694:907] -[__NSCFConstantString _beforeActivity]: unrecognized selector sent to instance 0x3ad971c8
[694:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString _beforeActivity]: unrecognized selector sent to instance 0x3ad971c8'
*** First throw call stack:
(0x35add2a3 0x37a1497f 0x35ae0e07 0x35adf531 0x35a36f68 0x361dc7a3 0x361dc52d 0x36067595 0x36434d31 0x3642fe07 0x2990b 0x361330ad 0x36133135 0x361330ad 0x3613305f 0x3613303d 0x361328f3 0x36132de9 0x3605b5f9 0x36048809 0x36048123 0x37bd15a3 0x37bd11d3 0x35ab2173 0x35ab2117 0x35ab0f99 0x35a23ebd 0x35a23d49 0x37bd02eb 0x3609c301 0x1ef9d 0x1ef30)
libc++abi.dylib: terminate called throwing an exception
내가 이것을 실행 해요 iOS6의와 아이 패드 2 : 여기
NSArray *activityItems = @[resultString];
NSLog(@"items=%@", activityItems);
NSArray *acitivities = @[UIActivityTypeMail, UIActivityTypeMessage, UIActivityTypePrint, UIActivityTypePostToFacebook, UIActivityTypeCopyToPasteboard];
UIActivityViewController *activityController =
[[UIActivityViewController alloc] initWithActivityItems:activityItems
applicationActivities:activities];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self.popover = [[UIPopoverController alloc] initWithContentViewController:activityController];
// the line above is where the error happens.
[self.popover presentPopoverFromBarButtonItem:self.emailResultsButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
[self presentViewController:activityController
animated:YES
completion:nil];
}
오류 메시지를 포함하여 코드의 출력입니다. 어떤 아이디어?
편집 : 내가 액티비티 배열을 제공하지 않으면 모든 것이 정상적으로 작동하는 것처럼 보입니다. 여전히 문제를 좁히고 있습니다.
ARC를 해제해도 문제가 지속됩니까? (나는 예스라고 예측할 것입니다.) –
ARC를 끄는 것은 스위치를 뒤집는 것과 같지 않습니다 ...하지만 계속 놀았습니다. 액티비티 배열을 제공하지 않으면 문제가 사라지는 것처럼 보입니다. –
글쎄, 컴파일러 플래그를 일시적으로 해제하십시오. 기억 누출 걱정하지 마십시오. –