Ios [SLComposeViewController initWithExtension:requestedServiceType:][u block\u invoke+;84
我在Ios [SLComposeViewController initWithExtension:requestedServiceType:][u block\u invoke+;84,ios,cocoa-touch,ios11,slcomposeviewcontroller,Ios,Cocoa Touch,Ios11,Slcomposeviewcontroller,我在SLComposeViewController上遇到一些崩溃 Crashed: com.apple.extension.global-state-queue 0 libobjc.A.dylib 0x18167cbb4 objc_loadWeakRetained + 156 1 libobjc.A.dylib 0x18167cd64 objc_copyWeak + 24 2 Social
SLComposeViewController上遇到一些崩溃
Crashed: com.apple.extension.global-state-queue
0 libobjc.A.dylib 0x18167cbb4 objc_loadWeakRetained + 156
1 libobjc.A.dylib 0x18167cd64 objc_copyWeak + 24
2 Social 0x1933abdbc __66-[SLComposeViewController initWithExtension:requestedServiceType:]_block_invoke + 84
3 Foundation 0x182b30b04 __85-[NSExtension _completeRequestReturningItems:forExtensionContextWithUUID:completion:]_block_invoke + 108
4 libdispatch.dylib 0x181ad1088 _dispatch_call_block_and_release + 24
5 libdispatch.dylib 0x181ad1048 _dispatch_client_callout + 16
6 libdispatch.dylib 0x181adae48 _dispatch_queue_serial_drain$VARIANT$mp + 528
7 libdispatch.dylib 0x181adb7d8 _dispatch_queue_invoke$VARIANT$mp + 340
8 libdispatch.dylib 0x181adc200 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 400
9 libdispatch.dylib 0x181ae44a0 _dispatch_workloop_worker_thread$VARIANT$mp + 644
10 libsystem_pthread.dylib 0x181d76fe0 _pthread_wqthread + 932
11 libsystem_pthread.dylib 0x181d76c30 start_wqthread + 4
在我看来,参考资料不知何故丢失了?有什么想法吗?
我没有做什么特别的事
- (void)presentTwitterShareWithURL:(NSURL *)url {
if (url == nil) {
return;
}
SLComposeViewController * cvc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[cvc addURL:url];
[cvc setCompletionHandler:^(SLComposeViewControllerResult result) {
if (SLComposeViewControllerResultDone == result) {
[[Analytics shared] trackWithCategory:@"Web" action:@"Tap" label:@"Share - Twitter"];
}
}];
[self.navigationController presentViewController:cvc animated:YES completion:nil];
}
注意:在我看来,它与iOS11相关,因为我不记得以前有过这个问题,而且除了iOS11被删除之外,它也没有被跟踪。您需要使用Twitter自己的共享解决方案来实现此功能
有关从当前解决方案迁移到TwitterKit
的信息,请参见此页面:在解除分配视图控制器后,似乎可以在库内部访问视图控制器。我想这是一个扩展的错误
保留视图控制器可能是一种解决方法
- (void)presentTwitterShareWithURL:(NSURL *)url {
if (url == nil) {
return;
}
__block SLComposeViewController * cvc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[cvc addURL:url];
[cvc setCompletionHandler:^(SLComposeViewControllerResult result) {
if (SLComposeViewControllerResultDone == result) {
[[Analytics shared] trackWithCategory:@"Web" action:@"Tap" label:@"Share - Twitter"];
}
}];
[self.navigationController presentViewController:cvc animated:YES completion:^{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
cvc = nil;
});
}];
}