Tôi đang phát triển Chế độ xem nguồn cấp dữ liệu Twitter cho ứng dụng iOS. Tôi tìm thấy TWRequest và nó hoạt động chính xác như tôi đang tìm kiếm. Nhưng: tôi nhận được thông báo: "TWRequest không được dùng nữa: không được dùng nữa trong iOS 6.0". Tôi nên sử dụng cái gì?TWRequest không được dùng nữa trong iOS 6.0 - tôi có thể sử dụng cái nào?
Trả lời
Trên iOS 6, bạn nên sử dụng Social.framework
. Điều này có một lớp học có tên là SLRequest
.
Bạn sử dụng nó gần giống như cách không dùng nữa TWRequest
, nhưng bạn cần xác định rằng đó là yêu cầu twitter thay vì yêu cầu facebook.
Toàn bộ Twitter.framework
không còn được dùng như iOS 6, kể từ khi Apple thêm Facebook và Weibo (mạng xã hội Trung Quốc) vào iOS 6, họ đã nhóm tất cả các lớp xã hội vào Social.framework
mới.
Lưu ý bạn phải xác định loại dịch vụ cho Twitter/Facebook, Ví dụ:
SLRequest *aRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodPOST
URL:myurl
parameters:myparams];
Hãy chắc chắn để kiểm tra documentation.
Đây là một mã hoàn chỉnh để tải văn bản + hình ảnh vào tài khoản Twitter của bạn sử dụng Twitter api
UIImage *img = [UIImage imageNamed:@"twitterImage.png"];
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[account requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
if (granted == YES) {
// Populate array with all available Twitter accounts
NSArray *arrayOfAccounts = [account accountsWithAccountType:accountType];
if ([arrayOfAccounts count] > 0) {
ACAccount *acct = [arrayOfAccounts objectAtIndex:0];
NSDictionary *message = @{@"status": @"From my app"};
NSURL *requestURL = [NSURL URLWithString:@"https://upload.twitter.com/1/statuses/update_with_media.json"];
SLRequest *postRequest = [SLRequest
requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodPOST
URL:requestURL parameters:message];
NSData *data = UIImagePNGRepresentation(img);
[postRequest addMultipartData:data withName:@"media" type:@"image/png" filename:@"TestImage"];
postRequest.account = acct;
[postRequest performRequestWithHandler:
^(NSData *responseData, NSHTTPURLResponse
*urlResponse, NSError *error)
{
if (error) {
NSLog(@"%@",error.description);
}
else {
NSLog(@"Upload Sucess !");
}
}];
}
}
}];
Trong trường hợp bạn có kế hoạch tích hợp TwitterKit bởi Twitter để thực hiện các tweets thông qua ứng dụng twitter tùy chỉnh của bạn thì đây có thể giúp bạn.
Một cách khác là sử dụng API Twitter. Bạn nên có khuôn khổ Twitter cho điều đó.
Sau đó làm đoạn mã sau:
NSString *statusesShowEndpoint = @"https://api.twitter.com/1.1/statuses/update.json";
NSDictionary *params = @{@"status": @"Hello, my first autopost tweet..."};
NSError *clientError;
NSURLRequest *request = [[[Twitter sharedInstance] APIClient]
URLRequestWithMethod:@"POST"
URL:statusesShowEndpoint
parameters:params
error:&clientError];
if (request) {
[[[Twitter sharedInstance] APIClient]
sendTwitterRequest:request
completion:^(NSURLResponse *response,
NSData *data,
NSError *connectionError) {
if (data) {
// handle the response data e.g.
NSError *jsonError;
NSDictionary *dicResponse = [NSJSONSerialization
JSONObjectWithData:data
options:0
error:&jsonError];
NSLog(@"%@",[dicResponse description]);
}
else {
NSLog(@"Error code: %ld | Error description: %@", (long)[connectionError code], [connectionError localizedDescription]);
}
}];
}
else {
NSLog(@"Error: %@", clientError);
}
- 1. authenticateWithCompletionHandler: không được dùng nữa: lần đầu tiên không được chấp nhận trong iOS 6.0
- 2. java.net.URLEncoder.encode (Chuỗi) không được dùng nữa, tôi nên sử dụng cái nào?
- 3. Làm cách nào để ngăn chặn cảnh báo không dùng nữa "dispatch_get_current_queue() không được chấp nhận ... trong iOS 6.0"?
- 4. Có ai biết phương pháp nào không được chấp nhận trong IOS 6.0 không?
- 5. GKPeerPickerController đã không được dùng nữa trong iOS 7
- 6. Không được dùng nữa C#
- 7. GKSession không được dùng nữa trong ios7, tôi nên sử dụng gì bây giờ?
- 8. UITextAttributeTextShadowOffset được dùng nữa
- 9. TWRequest iOS API chỉ hỗ trợ xác thực ứng dụng?
- 10. UILineBreakModeTailTruncation không được dùng nữa
- 11. QTextEdit :: setTextFormat (Qt :: LogText) không tồn tại nữa, tôi có thể sử dụng cái gì khác để đăng nhập?
- 12. 'sharedDispatcher' không được dùng nữa
- 13. $ HADOOP_HOME không được dùng nữa
- 14. Android làm cách nào tôi có thể thay thế tabhost không dùng nữa?
- 15. SMSManager được dùng nữa
- 16. Kích thước phông chữ tối thiểu không được sử dụng trên ios phiên bản 6.0
- 17. Tại sao isJavaLetterOrDigit không được dùng nữa?
- 18. Loại Thư viện không được dùng nữa
- 19. Có thể chạy trình mô phỏng iOS 4.0 nữa không?
- 20. 'initWithFrame: reuseIdentifier' không được dùng nữa
- 21. Arguments.callee không được dùng nữa - những gì nên được sử dụng thay thế?
- 22. iOS: UDID không dùng nữa ... Địa chỉ MAC?
- 23. tại sao absolutelayout không được dùng nữa?
- 24. $ HADOOP_HOME không được dùng nữa, Hadoop
- 25. Tại sao auto_ptr không được dùng nữa?
- 26. iOS Tôi không thể có được tên hãng của tôi
- 27. iPhone - Khi nào một phương pháp không dùng nữa thường trở nên lỗi thời?
- 28. Xcode/iOS - loại bỏ cảnh báo không dùng nữa cho các hằng số cụ thể?
- 29. Sử dụng SSLv3 trong IIS 6.0
- 30. Làm cách nào chúng tôi có thể kiểm tra ứng dụng ios bị người dùng hoặc ứng dụng iOS
2015: Sử dụng "https://api.twitter.com/1.1/statuses/update.json" và cũng lưu ý rằng lỗi hoàn toàn có thể có thể trở lại như JSON trong responseData. – prewett