Iphone 应用程序在使用Sharekit验证Twitter后崩溃
在我们的应用程序中,我们使用ShareKit在Facebook和Twitter上发布内容。 Facebook工作得很好,只是Twitter有一些问题 第一次使用Twitter发送内容时,需要对应用程序进行身份验证。 这个过程也很好,只有当它完成后,它应该返回到屏幕上发布在Twitter上。 但此时应用程序崩溃,因为它再也找不到UIViewController了。。。 请参阅以下错误:Iphone 应用程序在使用Sharekit验证Twitter后崩溃,iphone,cocoa-touch,twitter,uiviewcontroller,sharekit,Iphone,Cocoa Touch,Twitter,Uiviewcontroller,Sharekit,在我们的应用程序中,我们使用ShareKit在Facebook和Twitter上发布内容。 Facebook工作得很好,只是Twitter有一些问题 第一次使用Twitter发送内容时,需要对应用程序进行身份验证。 这个过程也很好,只有当它完成后,它应该返回到屏幕上发布在Twitter上。 但此时应用程序崩溃,因为它再也找不到UIViewController了。。。 请参阅以下错误: 2011-06-22 17:18:29.355 asdf[189:707] *** Assertion fail
2011-06-22 17:18:29.355 asdf[189:707] *** Assertion failure in -[SHK showViewController:], /Users/nvt/Documents/asdf/Classes/Core/SHK.m:117
2011-06-22 17:18:29.460 asdf[189:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'ShareKit: Could not find a root view controller. You can assign one manually by calling [[SHK currentHelper] setRootViewController:YOURROOTVIEWCONTROLLER].'
但我确实设置了UIViewController:
- (IBAction) shareAll:(id)sender
{
[SHK setRootViewController:self];
SHKItem *item = [SHKItem text:@"Deel app test"];
[SHK setFavorites:[NSArray arrayWithObjects:@"SHKTwitter", @"SHKFacebook",nil] forType:SHKShareTypeURL];
[SHK setFavorites:[NSArray arrayWithObjects:@"SHKTwitter", @"SHKFacebook",nil] forType:SHKShareTypeText];
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
actionSheet.title = @"Deel";
[actionSheet showInView:self.view];
}
似乎Sharekit不知何故丢失了UIViewController上的句柄。
我试图通过添加以下内容来修复它:
[SHK setRootViewController:self];
添加到ViewDidLoad和ViewWillAspect方法,但这不起作用。
有谁遇到过同样的问题,或者有办法解决这个问题?
虽然应用程序崩溃,但身份验证仍然有效,因为下次你想在Twitter上发布一些东西时,它确实有效。
所以它在第一次身份验证时只崩溃一次
ps.在Twitter上使用OAuth
编辑:回答
泰晤士河至艾曼塔斯
我必须做两件事来解决这个问题:
这是一个已知的问题,可以在谷歌找到。你能提供链接吗?因为我搜索过,找不到解决方案。这就是为什么我把问题贴在这里…——有一个标题是“缺少根视图控制器”。尝试在app delegate中设置根视图控制器(在将初始视图控制器添加到窗口时)。此外,这似乎提供了有关此问题的一些更新。我想你必须克隆另一个ShareKit repo。)@Eimantas Thx人,就是他干的!我会更新答案!这是一个已知的问题,可以在谷歌找到。你能提供链接吗?因为我搜索过,找不到解决方案。这就是为什么我把问题贴在这里…——有一个标题是“缺少根视图控制器”。尝试在app delegate中设置根视图控制器(在将初始视图控制器添加到窗口时)。此外,这似乎提供了有关此问题的一些更新。我想你必须克隆另一个ShareKit repo。)@Eimantas Thx人,就是他干的!我会更新答案!