gpt4 book ai didi

iOS 应用程序在显示 SLComposeViewController 时崩溃

转载 作者:行者123 更新时间:2023-11-29 01:50:25 31 4
gpt4 key购买 nike

好的,我有一个单一 View 的 iOS 应用程序。在 View Controller 内部,我有一个附加到 Storyboard 中的按钮的方法。这是按下按钮时的方法:

- (IBAction)tweetButton:(id)sender {
if ([SLComposeViewController isAvailableForServiceType:@"SLServiceTypeTwitter"]) {
SLComposeViewController *tweetSheet = [[SLComposeViewController alloc] init];
tweetSheet = [SLComposeViewController composeViewControllerForServiceType:@"SLServiceTypeTwitter"];

[tweetSheet setInitialText:@"This is a test."];
[self presentViewController:tweetSheet animated:YES completion:nil];
}
else {
NSLog(@"Twitter not configured.");
}
}

每当我按下应用程序中的按钮时,都会发生崩溃并出现以下错误:

2015-07-17 15:57:24.110 Now Playing[425:19583]
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target <ViewController: 0x157e4c620>.'

我的代码几乎遵循我在网上看到的每个示例,所以我不确定发生了什么。

最佳答案

即使需要 NSString 也不能硬键入服务类型,您必须改用常量之一:SLServiceTypeTwitter , SLServiceTypeFacebook ...

此外,composeViewControllerForServiceType:已经为您执行了分配/初始化步骤,因此在调用此方法之前无需分配它。

代码修复:

- (IBAction)tweetButton:(id)sender {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

[tweetSheet setInitialText:@"This is a test."];
[self presentViewController:tweetSheet animated:YES completion:nil];
}
else {
NSLog(@"Twitter not configured.");
}
}

关于iOS 应用程序在显示 SLComposeViewController 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31484619/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com