Twitter Framework для iOS - Почему TWrequest.h импортирует ‹Social / SLRequest.h›?

Внутри TWRequest.h, который находится внутри Twitter Framework, он импортирует этот

#import <Social/SLRequest.h>

Но TWRequest был создан для iOS 5, так зачем ему импортировать файл Social Framework, если он предназначен для iOS 6?

Я получаю эту ошибку ..

'Social/SLRequest.h' file not found

Конечно, его не нашли, потому что я не добавил в Social Framework, потому что хочу использовать Twitter Framework. Я не могу просто удалить его, потому что этот файл ссылается на социальную структуру, как я могу это исправить? Спасибо


person unwise guy    schedule 03.12.2012    source источник
comment
Для какой цели развертывания вы строите?   -  person Mick MacCallum    schedule 05.12.2012


Ответы (2)


В iOS 6 методы фреймворка Twitter устарели. Вместо этого вы должны использовать Social.framework. Что включает в себя совместное использование как Twitter, так и Facebook.

Пример кода проверяет, какая версия ОС работает и какие классы фреймворка доступны, будь то iOS 5 - Twitter.framework или 6 - Social.framework.

#import <Twitter/Twitter.h>
#import <Social/Social.h>


- (void) postTweet {
NSString *someTweet = @"someTweet";

// running on iOS5
if (NSClassFromString(@"TWTweetComposeViewController") && [TWTweetComposeViewController canSendTweet]) {

    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];

    [tweetSheet setInitialText:someTweet];
    [self presentModalViewController:tweetSheet animated:YES];

    // running on iOS6
} else if ( NSClassFromString(@"SLComposeViewController") && [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter] ) {

    SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

    [tweetSheet setInitialText:someTweet];
    [self presentViewController:tweetSheet animated:YES completion:NULL];
}
}
person Yuri Kobets    schedule 22.12.2012

Это казалось скорее проблемой xcode. Иногда это работало, а иногда вызывало ошибку. Мне пришлось выйти из xcode и перезапустить, чтобы он снова заработал. В конце концов он исправился.

person unwise guy    schedule 23.01.2013