如何使用Xcode共享文本到Tumblr
我正在开发一个具有Facebook,Twitter和Tumblr共享function的iOS应用程序。 除了Tumblr之外,我已经完成了所有的分享。 我在这方面做了很多工作。 我做了大量的search,但没有发现Tumblr共享。 这是我目前使用的Tumblr共享文本的代码:
- (void)shareOvertumblr:(id)sender { NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:@"http://www.tumblr.com/api/write"]]; [request setHTTPMethod:@"POST"]; //tell the server to expect 8-bit encoded content as we're sending UTF-8 data, //and UTF-8 is an 8-bit encoding [request addValue:@"8bit" forHTTPHeaderField:@"Content-Transfer-Encoding"]; //set the content-type header to multipart MIME [request addValue: [NSString stringWithFormat:@"multipart/form-data; boundary=%@",[NSString MIMEBoundary]] forHTTPHeaderField: @"Content-Type"]; //create a dictionary for all the fields you want to send in the POST request NSDictionary* postData = [NSDictionary dictionaryWithObjectsAndKeys: @"myEmailAddress", @"email", @"password", @"password", @"regular", @"type", @"myTitle", @"title", @"Hiiii How ruuu", @"body", nil]; //here inPlace of these EmailAddress and Password using my correct emailAdress and Password //set the body of the POST request to the multipart MIME encoded dictionary [request setHTTPBody: [[NSString multipartMIMEStringWithDictionary: postData] dataUsingEncoding: NSUTF8StringEncoding]]; [NSURLConnection connectionWithRequest:request delegate:self]; } /*Here is The Category */ @interface NSString (MIMEAdditions) + (NSString*)MIMEBoundary; + (NSString*)multipartMIMEStringWithDictionary:(NSDictionary*)dict; @end @implementation NSString (MIMEAdditions) //this returns a unique boundary which is used in constructing the multipart MIME body of the POST request + (NSString*)MIMEBoundary { static NSString* MIMEBoundary = nil; if(!MIMEBoundary) MIMEBoundary = [[NSString alloc] initWithFormat:@"----_=_YourAppNameNoSpaces_%@_=_----",[[NSProcessInfo processInfo] globallyUniqueString]]; return MIMEBoundary; } //this create a correctly structured multipart MIME body for the POST request from a dictionary + (NSString*)multipartMIMEStringWithDictionary:(NSDictionary*)dict { NSMutableString* result = [NSMutableString string]; for (NSString* key in dict) { [result appendFormat:@"--%@\nContent-Disposition: form-data; name=\"%@\"\n\n%@\n", [NSString MIMEBoundary],key,[dict objectForKey:key]]; } [result appendFormat:@"\n--%@--\n",[NSString MIMEBoundary]]; return result; } @end /*Connection Delegate Methods*/ - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { [self.view setUserInteractionEnabled:YES]; } -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ webData = [[NSMutableData alloc] initWithLength:0]; // webData is The NSMutable data } -(void)connectionDidFinishLoading:(NSURLConnection *)connection { NSString* responseString = [[NSString alloc] initWithData: webData encoding: NSUTF8StringEncoding]; NSLog(@"Response String %@",responseString); // here i got Authentication failed as Response ..... } -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ [webData appendData:data]; }
每当我运行此代码获取一些Authentication failed
错误。 我在各种线程上看到了同样的问题。 这里是我试过的链接但不幸的是没有运气到目前为止。 请帮忙。
而不是你自己的代码,你可以使用ShareKit
它只需要三行代码即可为您的应用程序添加完整的共享function。
ShareKit
是一个开源的框架,可以放入任何iPhone或iPad应用程序,以立即添加完整的共享function。
您可以使用ShareKit通过几行代码在Tumblr
中添加共享URL,图像和文本。
分享文字
+ (SHKItem *)text:(NSString *)text;
NSString *someText = @"This is a blurb of text I highlighted from a document."; SHKItem *item = [SHKItem text:someText];
你可以在这里看到更多的细节
- 在UINavigationController上推送许多视图控制器时的内存问题
- 最大限度地提高同时下载的http数量
- modalPresentationStyle – FormSheet在iPad上的高度究竟是什么?
- 无法login到iOS实际的Device MobileFirst Project上的应用程序
- 如何停止使用dispatch_async创build的线程?
- NSAttributedString’\ n’被忽略
- 强制键盘通过按钮显示(iOS)
- 如何在UIAlertController中validationTextField?
- drawRect:速度和CGContextDrawRadialGradient(超慢?)