我正嘗試使用sharekit在Twitter和Facebook上發帖。嘗試使用ShareKit在Twitter上發帖時收到錯誤
我有兩個按鈕,其致電以下兩種方法:
- (IBAction) shareOnFacebook:(id)sender
{
// Create the item to share
NSString *someText = @"Share on Facebook.";
SHKItem *item = [SHKItem text:someText];
// Share the item
[[SHK currentHelper] setRootViewController:self.navigationController];
[SHKFacebook shareItem:item];
}
- (IBAction) shareOnTwitter:(id)sender
{
// Create the item to share
NSString *someText = @"Share on Twitter.";
SHKItem *item = [SHKItem text:someText];
//tried both methods to set navigationcontroller!
[[SHK currentHelper] setRootViewController:self.navigationController];
[SHK setRootViewController:self.navigationController];
[SHKTwitter shareItem:item];
}
Facebook正在唯一的工作,當我嘗試使用Twitter,我得到以下錯誤:
2011-05-31 10:20:25.928 App[870:707] *** Assertion failure in -[SHK showViewController:], /Users/blaat/Dropbox/App/Classes/ShareKit/Core/SHK.m:112
2011-05-31 10:20:25.975 App[870: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].'
這很奇怪,因爲我使用Facebook的相同方法來設置NavigationViewController的一切工作... 我在SHKConfig.h中一遍又一遍地檢查了所有變量
- 認證的OAuth
- 應用型 「瀏覽器」
- 回調URL中填充的在配置和dev.twitter.com
- Consumerkey OK
- Consumersecret OK
任何一個理念?
編輯。我啓用了對Sharekit的調試,這是結果。我仍然沒有看到問題出在哪裏。
2011-06-01 09:07:28.496 App[179:707] <0x2e9400 OAMutableURLRequest.m:(242)> OAMutableURLRequest parameters oauth_consumer_key=****************&oauth_nonce=9C826DA5-A991-4045-BA6C-96D62CF09AA0&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1306912048&oauth_version=1.0
2011-06-01 09:07:30.109 App[179:707] <0x2e4240 SHKOAuthSharer.m:(108)> tokenRequestTicket Response Body: oauth_token=tsuRQUGI63sE7XnRyxiNgy4G03ycUG7G0KhEjhROuw&oauth_token_secret=jIsb6rqhqf11neREsIVrCnjy9i7epLhDKROmjgYJDmQ&oauth_callback_confirmed=true
2011-06-01 09:07:30.578 App[179:707] *** Assertion failure in -[SHK showViewController:], /Users/blaat/Dropbox/App/Classes/ShareKit/Core/SHK.m:112
2011-06-01 09:07:30.774 App[179: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].'
*** Call stack at first throw:
(
0 CoreFoundation 0x33cd264f __exceptionPreprocess + 114
1 libobjc.A.dylib 0x34115c5d objc_exception_throw + 24
2 CoreFoundation 0x33cd2491 +[NSException raise:format:arguments:] + 68
3 Foundation 0x34be4573 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 62
4 App 0x0000bd5f -[SHK showViewController:] + 722
5 App 0x0000fe87 -[SHKOAuthSharer tokenAuthorize] + 238
6 App 0x0000fbb5 -[SHKOAuthSharer tokenRequestTicket:didFinishWithData:] + 396
7 CoreFoundation 0x33c42571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
8 App 0x00015cb5 -[OAAsynchronousDataFetcher connectionDidFinishLoading:] + 208
9 Foundation 0x34ba02f5 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 68
10 Foundation 0x34ba0277 _NSURLConnectionDidFinishLoading + 78
11 CFNetwork 0x369ba411 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 136
12 CFNetwork 0x369aef45 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 100
13 CFNetwork 0x369af0cd _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 492
14 CFNetwork 0x369aee37 _ZN19URLConnectionClient13processEventsEv + 70
15 CFNetwork 0x369aede9 _ZN13URLConnection24multiplexerClientPerformEP18RunLoopMultiplexer + 36
16 CFNetwork 0x369aed5b _ZN17MultiplexerSource7performEv + 126
17 CFNetwork 0x369aecd9 _ZN17MultiplexerSource8_performEPv + 8
18 CoreFoundation 0x33ca9a79 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
19 CoreFoundation 0x33cab75f __CFRunLoopDoSources0 + 382
20 CoreFoundation 0x33cac4eb __CFRunLoopRun + 230
21 CoreFoundation 0x33c3cec3 CFRunLoopRunSpecific + 230
22 CoreFoundation 0x33c3cdcb CFRunLoopRunInMode + 58
23 GraphicsServices 0x347a541f GSEventRunModal + 114
24 GraphicsServices 0x347a54cb GSEventRun + 62
25 UIKit 0x33789d69 -[UIApplication _run] + 404
26 UIKit 0x33787807 UIApplicationMain + 670
27 App 0x000023af main + 70
28 App 0x00002364 start + 40
)
編輯:我得到了答案
[SHK setRootViewController:self.navigationController];
需求是:
[SHK setRootViewController:self];
的問題是,它需要一個UIViewController
,當我傳遞一個UINavigationViewController
。
我這樣做只是我傳遞了一個UINavigationViewController而不是UIViewController – Slaapyhoofd 2011-06-07 09:23:54