Şu anda SLComposeViewController kullanıyorum, bir kullanıcının twitter'e veya facebook'a (dokundukları tuşa bağlı olarak) skorunu göndermek için kullanıyorum. Paylaştıklarında, sanal para ile ödüllendirilirler. Karşılaştığım sorun, yalnızca bir kullanıcının Gönder veya İptal'e basıp vurmadığını söylemesi. Tweet'in gerçekten Twitter'da yayınlanıp yayınlanmadığını nasıl kontrol edebilirim? Bu, bir kullanıcının aynı tweet'i iki kez göndermeye çalıştığı durumlarda (twitter'ın izin vermediği durumlarda) mücadele etmeye yardımcı olacaktır.iOS 7 SLComposeViewController: Tweet'in gerçekten gönderilip gönderilmediğini kontrol edin.
Bu şimdi benim kodudur: tweet aslında (Sosyal Framework kullanarak) gönderilmiş ise
//Check if user can send tweet
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
tweetSheet.completionHandler = ^(SLComposeViewControllerResult result) {
switch(result) {
//This means the user cancelled without sending the Tweet
case SLComposeViewControllerResultCancelled:
NSLog(@"User Canceled");
break;
//This means the user hit 'Send'
case SLComposeViewControllerResultDone:
NSLog(@"User Tapped Send");
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
//Show alert & reward user here
break;
}
dispatch_async(dispatch_get_main_queue(), ^{
[self dismissViewControllerAnimated:NO completion:^{
NSLog(@"Tweet Sheet has been dismissed.");
}];
});
};
[tweetSheet setInitialText:[NSString stringWithFormat:@"Just scored %ld %@! I challenge anyone to try & beat it! ", (long)scene.score, suffix]];
[tweetSheet addURL:[NSURL URLWithString:@"http://appstore.com/appurlhere"]];
[self presentViewController:tweetSheet animated:YES completion:^{
NSLog(@"Tweet sheet has been presented.");
}];
}
else {
//Something went wrong, aka no network connection
};
nasıl kontrol edebilirim.
Di, bunun mümkün olup olmadığını nasıl anladınız? – DelightedD0D