15

नहीं जायेगा मैं ट्विटर पर टेक्स्ट साझा करने के लिए एक्सकोड 4.2 (आईओएस एसडीके 5) पर शेयरकिट 0.2.1 का उपयोग कर रहा हूं। यह ठीक साझा करता है, लेकिन मॉडल दृश्य नियंत्रक अभ्यस्त दूर सफलतापूर्वक के बाद रद्द बटन पर क्लिक करने के बाद पर साझा करने जाना (देखें नीचे):शेयरकिट मोडल व्यू कंट्रोलर

enter image description here

और ये मेरे कोड है:

-(IBAction)shareOnTwitter:(id)sender{ 


    // Item to share 
    NSString *text = @"Go away, modal view controller!"; 

    [SHKTwitter shareText:text]; 

} 

क्या क्या मैं गलत कर रहा हूँ?

उत्तर

30

मुझे आपके जैसा ही समस्या है। यह एक आईओएस 5 मुद्दा है। ऐसा इसलिए है क्योंकि ShareKit UIViewController पर parentViewController नामक एक विधि का उपयोग कर रहा है और ऐप्पल दस्तावेज़ों के अनुसार अब आप इसे आईओएस 5 में उपयोग नहीं कर सकते हैं। इसके बजाय, आपको presentingViewController का उपयोग करना होगा।

तो ShareKit कोड में इसे ठीक करने, SHK.m में जाने, हस्ताक्षर (void)hideCurrentViewControllerAnimated:(BOOL)animated साथ विधि मिल जाए, और साथ बदलें:

- (void)hideCurrentViewControllerAnimated:(BOOL)animated 
{ 
    if (isDismissingView) 
     return; 

    if (currentView != nil) 
    { 
     // Dismiss the modal view 
     if ([currentView parentViewController] != nil) 
     { 
      self.isDismissingView = YES; 
      [[currentView parentViewController] dismissModalViewControllerAnimated:animated]; 
     } else if ([currentView presentingViewController] != nil) { 
      self.isDismissingView = YES; 
      [[currentView presentingViewController] dismissModalViewControllerAnimated:animated]; 
    } else 
     self.currentView = nil; 
    } 
} 

यह आईओएस 5.

+0

यह वह समाधान है जिसे मैंने लागू किया है साथ ही –

+0

y यह डिवाइस के अभिविन्यास को बदल रहा है – WaaleedKhan

1

यह वह कोड है जिसका मैं अपने ऐप्स में से एक में उपयोग करता हूं। यह ठीक से खारिज कर देता है।

NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/packager/id459511278?l=nl&ls=1&mt=8"]; 
NSString *twittertext = [[NSString alloc] initWithFormat: @"Tweet Text"]; 
SHKItem *item = [SHKItem URL:url twittertext]; 

// Share the item 
[SHKTwitter shareItem:item]; 
[twittertext release]; 
+0

यदि आप [NSString stringWithFormat: @ "ट्वीट टेक्स्ट"] करते हैं; और [twittertext रिलीज] को हटा दें; लाइन, क्या यह अभी भी खारिज कर देता है? स्पष्ट रूप से केवल अंतर यह है कि मैं एआरसी का उपयोग कर रहा हूं ... – cfischer

1

मैं अपने ऐप (एआरसी विकलांग) में निम्न कोड का इस्तेमाल किया है

NSString *text = @"Go away, modal view controller!"; 

[SHKTwitter shareText:text]; 

मैं पुष्टि कर सकता यह ठीक खारिज। शेयरकिट एआरसी संगत बनाने का प्रयास करते समय आपने शायद SHKTwitterForm.m में कुछ कोड बदल दिया है। जिसके परिणामस्वरूप आपकी बग

+0

नहीं, मैंने एआरसी के बिना सभी शेयरकिट फ़ाइलों को संकलित किया: -fno-objc-arc – cfischer

+0

मैंने अभी अपना मूल प्रश्न दोहराया और कुछ भ्रम पाया, यह कैसा है एक्सकोड 4.3 का उपयोग कर रहे हैं? इसके अलावा, आप किस सिम्युलेटर संस्करण के साथ बग का सामना करते हैं? क्या आपने इसे वास्तविक डिवाइस पर भी परीक्षण किया था? – Louis

2
if (isDismissingView) 
    return; 

if (currentView != nil) 
{ 
    // Dismiss the modal view 
    if ([currentView parentViewController] != nil) 
    { 
     self.isDismissingView = YES; 
     [[currentView parentViewController] dismissModalViewControllerAnimated:animated]; 
    } 

    else { 
     //## ADD BELOW ## 
     self.isDismissingView = YES; 
     [currentView dismissModalViewControllerAnimated:animated]; 
     self.currentView = nil; 

    } 
} 
else { 
    [[self getTopViewController].navigationController popViewControllerAnimated:YES]; 
} 
पर मेरे लिए काम करता
संबंधित मुद्दे