在我的项目中,我总是使用SLComposeViewController与第三方应用程序共享内容,但是现在,当我将iPhone更新到iOS 11测试版时,它不再工作。而SLComposeViewControllerCompletionHandler总是回调SLComposeViewControllerResultCancelled。 为什么?关于iOS 11 beta中的“SLComposeViewController”
回答
iOS 11通过设置应用删除了第三方帐户(如Facebook和Twitter)的访问权限。我目前正在同样的事情上挣扎。
您现在必须将功能与第三方的SDK集成。推特在这里有一个迁移页关于要采取的步骤: -
https://dev.twitter.com/twitterkit/ios/migrate-social-framework
我还没有找到有关如何迁移的其他社交网络的具体说明,但可以肯定地说,将要求其第三方SDK。
没有更容易出的现成的社交共享:-(
我在iOS中11.关于SLComposer问题,但我只是删除了检查线,显然在自己的SDK使得validacoes 。我在内部
删除此行提供任何SLServiceType
:
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
所以,发展你的逻辑在我的情况:
SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[mySLComposerSheet setInitialText:@"#myInitialTextIsHere"];
[mySLComposerSheet addURL:[NSURL URLWithString:strURL]];
[mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
switch (result) {
case SLComposeViewControllerResultCancelled:
NSLog(@"Post Canceled");
break;
case SLComposeViewControllerResultDone:
NSLog(@"Post Sucessful");
break;
default:
break;
}
}];
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
我希望我能帮上忙!
这是有效的 - 如果用户没有登录,作曲家仍然会弹出,但随后出现“您需要登录”的提醒。 – davedavedave
在将部署目标设置为iOS11时,此解决方案是否适用于(iPhone)模拟器中的人员?它不会崩溃或任何东西,但我没有得到我得到的IOS10和以下的动作表,并在控制台它说'ViewDidAppear,但远程VC失败,解雇'和'表未呈现,调用过早完成? –
仍在使用我的twitter,如下所示。在iPad Air和iOS 11.2.2上运行。 –
对于iOS 11这一行:
([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
总是返回NO
我检查更换,如果用户已经安装了Facebook应用程序:
static NSString *const canOpenFacebookURL = @"fbauth2";
+将它添加到LSApplicationQueriesSchemes
in plist
-(BOOL)isFacebookAppInstalled {
NSURLComponents *components = [[NSURLComponents alloc] init];
components.scheme = canOpenFacebookURL;
components.path = @"/";
return [[UIApplication sharedApplication]
canOpenURL:components.URL];
}
然后只是拨打电话SLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
像往常一样,马修斯多明戈斯如何描述相同。但有了这个检查,至少你知道这个用户已经安装了Facebook应用程序。
- 1. iOS 11 Beta - NSURLErrorDomain - 代码:18446744073709550617
- 2. iOS 11 beta 4 presentRenderbuffer crash
- 3. centralManagerDidUpdateState返回关闭iOS 11-Beta 4的电源
- 4. 的iOS SLComposeViewController“黑客”
- 5. Typescript Material beta beta version 11 Grid
- 6. Visual Studio 11 Beta ... WPF模板?
- 7. 拖放到`UICollectionView`占位符在IOS 11 Beta 4的
- 8. Visual Studio 11 beta和.NET 4.5
- 9. Ionic beta 11 - 升级Angular 2
- 10. 用于IOS的Google Analytics 2.0 beta 4
- 11. Xam.Plugins.Notifier不适用于IOS 11
- 12. iOS 10 beta中的IOKit
- 13. VS 11 Beta - 可能的剃刀bug
- 14. 的iOS 8.3 SLComposeViewController Facebook的错误
- 15. 转换在Visual Studio 11 beta中失败
- 16. 如何使我的SLComposeViewController可用于服务类型(Facebook)iOS swift
- 17. iOS 11中的StatusBarFrame
- 18. html-select在IOS 11 Beta上与cordova下拉问题
- 19. UIBarButtonItem无法在iOS 11 beta 7上点击?
- 20. Swift iOS 11 Beta今日小工具infoPlist.Strings不能本地化
- 21. ios 11 Beta 5选择下拉列表问题
- 22. 用SceneKit(SCNView)显示统计信息(Swift 4/iOS 11 beta)
- 23. iOS 11 beta 5从设备收到未知错误消息'PasscodeRequired'
- 24. SLComposeViewController SLServiceTypeFacebook不工作的iOS 9.1
- 25. SLComposeViewController
- 26. Kinvey ios 3.0 Beta
- 27. 在Facebook上分享IOS 11 Swift
- 28. 用于Visual Studio 11 beta的T4编辑器?
- 29. Xcode 3.2.6适用于iPhone iOS 5 beta 6?
- 30. SLComposeViewController中的108个字符
SLComposeViewController对我来说工作得很好,就像以前一样。查看Matheus发布的答案。 – Leon