2011-06-23 4 views
1

私たちのアプリケーションでは、ShareKitを使ってFacebookやTwitterに何かを公開しています。 Facebookは完全に機能しますが、Twitterにはいくつかの問題があります。認証後にアプリケーションがクラッシュするSharekitを使用しているTwitter

初めてTwitterを使用して送信する場合は、アプリを認証する必要があります。 この処理は、完了したときにのみ正常に動作し、Twitterに投稿するために画面に戻る必要があります。 しかし、この時点でアプリがクラッシュ、それはもはやのUIViewControllerを見つけることができないので... は、次のエラーを参照してください:

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のハンドルを失う。 私は追加して、それを修正しようとした:のviewDidLoadとViewWillAppear方法に

[SHK setRootViewController:self]; 

が、これは動作しませんでした。 同じ問題が発生した場合、またはこれを修正するアイデアがある場合は、 次回は何かをTwitterに投稿したいので、アプリがクラッシュしても認証は機能しますが、機能します。 最初の認証時に一度だけクラッシュします...

ps。 Twitterの

のためのOAuthを使用すると、

編集:

Eimantas

Thxを回答私は問題を解決するために2つのことを行う必要がありました:

  1. 定義[SHK setRootViewController:(メイン rootviewcontroller) ]アプリ内 代理人
  2. このフォークをgithubから使用する https://github.com/rs/ShareKit/commit/2121cbc1a2d935b36921ae226449b2acd6f10c06#diff-0
  3. 0123私は問題を解決するために二つのことをしなければならなかったEimantas

    から

+0

AFAIK - これは既知の問題で、googleの周辺にあります。 – Eimantas

+0

リンクを提供できますか?私は検索して解決策を見つけることができないからです。だから私はここに質問を投稿した。 – Slaapyhoofd

+0

http://getsharekit.com/support/ - "root view controllerが見つからない"という見出しがある。アプリケーションデリゲートのルートビューコントローラを設定してみてください(ウィンドウに初期ビューコントローラを追加する場合)。 – Eimantas

答えて

関連する問題