gpt4 book ai didi

ios - 应用程序崩溃并出现异常 : -[NSConcreteMutableData _fastCharacterContents]

转载 作者:行者123 更新时间:2023-11-29 12:54:08 24 4
gpt4 key购买 nike

我正在尝试与 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com