- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试与 facebook 共享数据。除了本地存储在 iPhone 内存中的图像外,我能够共享数据。但是,当我尝试使用参数@“source”共享本地存储的图像时,我的应用程序因错误“[NSConcreteMutableData _fastCharacterContents]”而终止。
为了共享本地镜像,我根据@"source"参数的要求将其转换为 NSData。
NSData *data = [NSData dataWithContentsOfURL:localUrl];
__block ACAccount *facebookAccount = nil;
ACAccountType *facebookAccountType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
// Specify App ID and permissions
NSDictionary *options = @{
ACFacebookAppIdKey: @"xxxxxxxxxxxxxx",
ACFacebookPermissionsKey: @[@"email"],
ACFacebookAudienceKey: ACFacebookAudienceEveryone
}; // basic read permissions
[self.accountStore requestAccessToAccountsWithType:facebookAccountType
options:options completion:^(BOOL granted, NSError *e)
{
if (granted) {
// Now that you have publish permissions execute the request
NSDictionary *options2 = @{
ACFacebookAppIdKey: @"xxxxxxxxxxxxxx",
ACFacebookPermissionsKey: @[@"publish_stream", @"publish_actions"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};
[self.accountStore requestAccessToAccountsWithType:facebookAccountType options:options2 completion:^(BOOL granted, NSError *error) {
if (granted) {
NSArray *accounts = [self.accountStore accountsWithAccountType:facebookAccountType];
facebookAccount = [accounts lastObject];
/*NSDictionary *parameters = @{@"message": @"This is a test",
@"name": @"Sharing Tutorial",
@"caption": @"Build great social apps and get more installs.",
@"description": @"Allow your users to share stories on Facebook from your app using the iOS SDK.",
@"link": @"https://developers.facebook.com/docs/ios/share/",
@"source":data};*/
NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"My hat image", @"message", data, @"source", nil];
NSURL *feedURL = [NSURL URLWithString:@"https://graph.facebook.com/me/photos"];
SLRequest *feedRequest = [SLRequest
requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodPOST
URL:feedURL
parameters:parameters];
NSLog(@"AnythingHere?");
[feedRequest setAccount:facebookAccount];
[feedRequest performRequestWithHandler:^(NSData *responseData,
NSHTTPURLResponse *urlResponse, NSError *error)
{
// Handle response
NSLog(@"%@%@", error,urlResponse);
NSDictionary *response = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:nil];
NSLog(@"Facebook Response : %@",response);
}];
}
else {
NSLog(@"Access denied 2");
NSLog(@"%@", [error description]);
}
}];
} else {
NSLog(@"Error: %@", [e description]);
NSLog(@"Access denied");
}
}];
此错误背后的原因是什么?
最佳答案
这只是一个有根据的猜测,因为我从未使用过 Social 框架,但它太长了,无法发表评论。
据此判断answer我会说你使用的 SLRequest
是错误的。我很确定异常来自您的数据对象,它被解释为 NSString(或 NSURL)。
也许你应该使用 addMultipartData:withName:type:filename:
将您的照片附加到请求中。
NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"My hat image", @"message", nil];
NSURL *feedURL = [NSURL URLWithString:@"https://graph.facebook.com/me/photos"];
SLRequest *feedRequest = [SLRequest
requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodPOST
URL:feedURL
parameters:parameters];
[feedRequest addMultipartData:data
withName:@"source"
type:@"multipart/form-data"
filename:@"Test Image"];
与another answer 基本相同的代码
关于ios - 应用程序崩溃并出现异常 : -[NSConcreteMutableData _fastCharacterContents],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21596051/
我正在尝试这样做: self.somestring = [@"hardcodedstring" stringByAppendingString:someotherstring]; 但我不断得到: **
我正在尝试与 facebook 共享数据。除了本地存储在 iPhone 内存中的图像外,我能够共享数据。但是,当我尝试使用参数@“source”共享本地存储的图像时,我的应用程序因错误“[NSConc
使用WeiboSDK.registerApp 函数后报错: Terminating app due to uncaught exception 'NSInvalidArgumentException'
我收到以下错误: -[NSConcreteData _isResizable]: unrecognized selector sent to instance 0x9954d30 在此代码上: UI
我在 playground 中运行以下命令(我在 Xcode 7.3.1 和 Xcode 8.1 中进行了测试并看到了相同的行为): import UIKit let key: String = "s
在我的 appdelegate 中,我设置了几个自定义 NSObject (MemoryObject) 实例并将它们存储到 NSMutableDictionary 中: - (void)setMObj
我面临 -[NSConcreteMutableData release] 的问题:消息发送到已释放的实例,我也附上了我的示例代码。 - (IBAction)uploadImage { NSString
我调用 Rest API 是为了调用我有一些参数作为字典格式并在某些时候传递给 api,我在转换子类型时崩溃了 这里是我的示例代码: let configuration = NSURLSess
我的应用不断崩溃并显示以下消息: * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSConcreteMutableData base64Enc
我的 iOS 应用正在使用 AFNetworking 下载一个非常大的 zip 文件(3.79GB) .我的应用程序还使用了 Flipboard 的 FLEX library 2.2 监控网络流量。一
我尝试使用以下行获取 NSURLRequest 的 header : NSString *contentType = [[(NSHTTPURLResponse *)data allHeaderFiel
我正在尝试将图像添加到我要发布到服务器上的 JSON 文件中。我正在使用以下代码,但我一直收到 Invalid type in JSON write (NSConcreteMutableData) 错
我是一名优秀的程序员,十分优秀!