2016-04-20 4 views
3

Поделиться строкой + изображение через WhatsApp в iOS 9 + Xcode 7.3, получив ошибку. iOS 8 работает отлично. Код:Share String + Изображение через WhatsApp в iOS 9

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil]; 

    NSArray *excludeActivities = @[UIActivityTypePrint, 
            UIActivityTypeCopyToPasteboard, 
            UIActivityTypeAssignToContact, 
            UIActivityTypeSaveToCameraRoll, 
            UIActivityTypeAddToReadingList, 
            UIActivityTypeAirDrop]; 

    activityController.excludedActivityTypes = excludeActivities; 

    [activityController setValue:[NSString stringWithFormat:@"Test msg"] forKey:@"subject"]; 

    [self presentViewController:activityController animated:YES completion:nil]; 

enter image description here

ответ

0

В iOS 9, вам нужно добавить эти строки на проекты .plist файл:

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>whatsapp</string> 
</array> 

Проверка после добавления этого в .plist.

+0

Я уже добавил, но это не работает ... – Mahipalsinh

+0

@Ronak Chaniyara я также попробовать это, но он не работает. – Raju

+0

проверить ответ здесь может помочь [http://stackoverflow.com/a/36622573/5575752](http://stackoverflow.com/a/36622573/5575752) –

0

Я решил выдан используя этот код:

- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController 
{ 
    return @""; 
} 

- (id)activityViewController:(UIActivityViewController)activityViewController itemsForActivityType:(NSString)activityType 
{ 

    if ([activityType isEqualToString:@"net.whatsapp.WhatsApp.ShareExtension"]) { 

     NSString *strShare = @“Test string”; 

     NSString *string = [NSString stringWithFormat:@"whatsapp://send?text=%@",strShare]; 
     NSURL *url = [NSURL URLWithString:[string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
     [[UIApplication sharedApplication] openURL: url]; 

     return @""; 

    } 
    else 
    { 
     return sharingItems; 
    } 
} 
+0

как назвать этот метод при нажатии кнопки? – Raju

+0

Эти два метода Datasource для UIActivityItemSource. Таким образом, он вызывается автоматически. Пожалуйста, обратитесь к этому URL-адресу: http://nshipster.com/uiactivityviewcontroller/ – Mahipalsinh

+0

, но я хочу, чтобы кнопка вызова была выше, чем когда я установил делегат или метод? – Raju

0

Вы можете добавить адрес изображения, так как обмен изображения не представляется возможным. Добавить URL изображения, как этот

NSArray *arrData = @[@"Post Title", @"imageURL"]; 
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:arrData applicationActivities:nil]; 
NSArray *excludeActivities = @[UIActivityTypeAirDrop, 
           UIActivityTypePrint, 
           UIActivityTypeAssignToContact, 
           UIActivityTypeSaveToCameraRoll, 
           UIActivityTypeAddToReadingList]; 
activityVC.excludedActivityTypes = excludeActivities; 

[self presentViewController:activityVC animated:YES completion:nil];