ios - SLComposeViewController साझा करने के लिए ट्यूटोरियल




ios6 social-framework (2)

फेसबुक, ट्विटर या सिना SLComposeViewController पर पोस्ट करने के लिए आईओएस 6 के नए SLComposeViewController का उपयोग करने के लिए मुझे क्या कदम उठाने की आवश्यकता है?

https://code.i-harness.com


SLComposeViewController का सुरक्षित उपयोग

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
    {
        SLComposeViewController *fbPost = [SLComposeViewController
                                               composeViewControllerForServiceType: SLServiceTypeFacebook];
        [fbPost setInitialText:@"Text You want to Share"];
        [fbPost addImage:[UIImage imageNamed:@"shareImage.png"]];
        [self presentViewController:fbPost animated:YES completion:nil];
        [fbPost setCompletionHandler:^(SLComposeViewControllerResult result) {
            switch (result) {
                case SLComposeViewControllerResultCancelled:
                    NSLog(@"Post Canceled");
                    break;
                case SLComposeViewControllerResultDone:
                    NSLog(@"Post Sucessful");
                    break;
                default:
                    break;
            }
            [self dismissViewControllerAnimated:YES completion:nil];
        }];
    }

इस ढांचे के विवरण के लिए कृपया ऐप्पल के सोशल फ्रेमवर्क क्लास रेफरेंस देखें

अतिरिक्त ट्यूटोरियल:

  1. http://soulwithmobiletechnology.blogspot.com/2012/07/tutorial-how-to-use-inbuilt.html
  2. http://www.mobile.safilsunny.com/iphone/integrating-facebook-ios/
  3. http://rudeboy-quickies.blogspot.com/2012/06/steps-to-integrate-facebook-in-ios6.html
  4. https://developer.apple.com/videos/wwdc/2012/?id=306

इस उदाहरण के लिए, हम SLComposeViewController की SLComposeViewController का उपयोग करेंगे। यदि आप ट्विटर या सिनावेइबो का उपयोग करना चाहते हैं तो बस SLServiceType को निम्न में से किसी एक में बदलें:

  • SLServiceTypeFacebook
  • SLServiceTypeSinaWeibo
  • SLServiceTypeTwitter

आईओएस 6 ने SLComposeViewController का उपयोग कर सीधे फेसबुक, ट्विटर या सिना SLComposeViewController को पोस्ट करना बहुत आसान बना दिया है। यह आईओएस 5 के TWTweetComposeViewController समान ही काम करता है।

सबसे पहले, आपके व्यू कंट्रोलर की हेडर फ़ाइल (.h) #import सोशल फ्रेमवर्क और अकाउंट फ्रेमवर्क #import करें।

#import <Social/Social.h>

#import <Accounts/Accounts.h>

यहां हम एक साधारण UIButton और एक IBAction घोषित करेंगे कि हम बाद में उस बटन और एक void (साझाकरण स्थिति) से लिंक करेंगे जिसका उपयोग यह जांचने के लिए किया जाएगा कि चयनित साझाकरण सेवा उपलब्ध है।

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIButton *easyFacebookButton;
- (IBAction)facebookPost:(id)sender;
- (void)sharingStatus;
@end

@implementation ViewController

फिर, आपके कार्यान्वयन फ़ाइल (.m) में, हम (साझाकरण स्थिति) शून्य को कार्यान्वित करके शुरू करेंगे जिसे हमने हेडर फ़ाइल में घोषित किया था। SLComposeViewController का उपयोग करता SLComposeViewController isAvailableForServiceType वापस लौटने के लिए कि क्या आप इसके तर्क में निर्दिष्ट सेवा पर पोस्ट कर सकते हैं या नहीं। इस मामले में, हम सेवा प्रकार SLServiceTypeFacebook उपयोग करेंगे। यदि सेवा उपलब्ध है तो पोस्ट बटन 1.0f के अल्फा मान के साथ सक्षम किया जाएगा, और यदि सेवा उपलब्ध नहीं है तो बटन को इसके अल्फा मान को 0.5f पर सेट कर दिया जाएगा।

- (void)sharingStatus {
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
        NSLog(@"service available");
        self.easyFacebookButton.enabled = YES;
        self.easyFacebookButton.alpha = 1.0f;
    } else {
        self.easyFacebookButton.enabled = NO;
        self.easyFacebookButton.alpha = 0.5f;
    }
}

यहां हम IBAction स्थापित करेंगे जो संगीतकार को बुलाएगा। अच्छी प्रैक्टिस के लिए, हम उपलब्ध नहीं हैं जो एक सेवा प्रकार के लिए संगीतकार को कॉल करने से बचने के लिए उपलब्ध है। उपलब्ध नहीं है। (आखिरी चेक के दौरान कुछ गड़बड़ हुई, या अगर पोस्ट बटन और कंपोज़र्स को सभी / इनिट टैप करने के बीच किसी दूसरे के अंश में उपलब्धता बदल गई है। नीचे दिया गया कोड टेक्स्ट के साथ एक फेसबुक संगीतकार शीट प्रदर्शित करने के लिए स्थापित किया गया है, एक छवि, और एक लिंक। यह क्रिया संगीतकार के रद्द और किए गए परिणामों के लिए एक समापन हैंडलर का भी उपयोग करती है।

- (IBAction)facebookPost:(id)sender {

    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

        SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

        [mySLComposerSheet setInitialText:@"iOS 6 Social Framework test!"];

        [mySLComposerSheet addImage:[UIImage imageNamed:@"myImage.png"]];

        [mySLComposerSheet addURL:[NSURL URLWithString:@"http://.com/questions/12503287/tutorial-for-slcomposeviewcontroller-sharing"]];

        [mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {

             switch (result) {
                 case SLComposeViewControllerResultCancelled:
                     NSLog(@"Post Canceled");
                     break;
                 case SLComposeViewControllerResultDone:
                     NSLog(@"Post Sucessful");
                     break;

                 default:
                     break;
             }
         }];

        [self presentViewController:mySLComposerSheet animated:YES completion:nil];
    }
}

देखें ACAccountStoreDidChangeNotification हम एक पर्यवेक्षक को ACAccountStoreDidChangeNotification पंजीकृत करेंगे ताकि खाते की जानकारी में परिवर्तन होने पर एप्लिकेशन को अधिसूचित किया जा सके। इस पर्यवेक्षक को फिर viewDidDisappear में हटा दिया जाएगा।

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sharingStatus) name:ACAccountStoreDidChangeNotification object:nil];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
    [[NSNotificationCenter defaultCenter] removeObserver:ACAccountStoreDidChangeNotification];
}

और अंत में, इंटरफ़ेस बिल्डर खोलें और एक UIButton जोड़ें जो पोस्ट बटन होगा। फिर कनेक्शन इंस्पेक्टर में IBOutlet और IBAction लिंक किया गया है जिसे हमने पहले बटन पर बनाया था, और यही वह है! हो गया!





social-framework