Я пытаюсь обмениваться данными с facebook. Я могу обмениваться данными, кроме изображений, хранящихся локально в памяти iPhone. Но когда я пытаюсь обмениваться изображениями, хранящимися локально с параметром @ "source", мое приложение заканчивается ошибкой "[NSConcreteMutableData _fastCharacterContents]".Сбой приложения с исключением: - [NSConcreteMutableData _fastCharacterContents]
Для совместного использования локального изображения я конвертирую его в NSData, как требуется параметром @ "source".
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");
}
}];
В чем причина этой ошибки?
Пожалуйста, проверьте это, если это может помочь вам http://code.google.com/p/touchcode/issues/detail?id=73 – iEinstein
проверки Дейты class 'NSLog (@" class =% @ ", [data class]);' –
@MatthiasBauch Я использую данные, потому что url не работает [смотрите здесь] (http://stackoverflow.com/questions/14748140/share- image-from-bundle-and-link-on-facebook-in-iphone) – ViruMax