我正在使用的一个应用程序使用 SLComposeViewController 来发送推文。此功能已在应用程序中运行了一段时间。将 SDK 更新到 7.0 后,我遇到了问题。
问题是 SLComposeViewController 在呈现后立即调用其完成处理程序。SLComposeViewControllerResult 是取消。任何显示 SLComposeViewController 的尝试都会发生这种情况。
我能够在示例应用程序中让此代码在 64 位设备/模拟器上运行,但它在我正在处理的较大应用程序中失败。
工作案例:
- 任何带有 6.1 SDK 的设备
- 任何带有 7.0 SDK 的 32 位设备
- 我的示例应用程序
失败案例:
- 64 位 iPhone 5S 和 64 位模拟器
这是失败代码的简单实现(几乎可以在任何示例中看到)。
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
{
SLComposeViewController *vc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[vc setInitialText:@"Hi Twitter"];
vc.completionHandler = ^(SLComposeViewControllerResult result)
{
};
[self presentViewController:vc animated:YES completion:nil];
return;
}
以下文章指出其他应用程序在通过 Twitter 共享时遇到问题 http://tellmenews.com/ipad-air-suffers-from-same-ios-7-twitter-sharing-problem-as-iphone-5s/179686/samantha-罗斯。作为记录,来自 iOS Photo 应用程序的 Twitter 共享可以在我的设备上运行。
关于我的工作示例应用程序和失败的应用程序之间可能存在什么差异的任何想法?