2015-10-06 25 views
9

Chia sẻ hình ảnh và URL bằng UIActivityViewController hoạt động tốt cho facebook và gmail nhưng không hoạt động đối với whatsapp. Đây là mã tôi đã sử dụngiOS chia sẻ hình ảnh và URL tới whatsapp bằng cách sử dụng UIActivityViewController

- (void)share { 
    UIScreen *screen = [UIScreen mainScreen]; 
    UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; 
    UIGraphicsBeginImageContextWithOptions(screen.bounds.size, NO, 0); 
    [keyWindow drawViewHierarchyInRect:keyWindow.bounds afterScreenUpdates:YES]; 
    UIImage *snapShotImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    UIImage *imageToShare = snapShotImage; 

    NSURL *urlToShare = [NSURL URLWithString:@"http://google.com"]; 

    NSMutableArray *activityItems = [NSMutableArray arrayWithObjects:urlToShare, imageToShare, nil]; 

    UIActivityViewController *activityViewController = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil]; 
    activityViewController.excludedActivityTypes = @[ 
                UIActivityTypePrint, 
                UIActivityTypeCopyToPasteboard, 
                UIActivityTypeAssignToContact, 
                UIActivityTypeSaveToCameraRoll, 
                UIActivityTypeAddToReadingList, 
                UIActivityTypeAirDrop]; 


    [self presentViewController:activityViewController animated:YES completion:nil]; 
} 
  1. Tôi có bỏ lỡ bất cứ điều gì không?
  2. Tôi có cần triển khai hoạt động tùy chỉnh cho WhatsApp không?

Lưu ý: Trong trường hợp của 2 chúng ta cần tìm giải pháp hiding whatsapp from activityviewcontroller này trước khi tiếp tục

+0

Bạn đã làm cho nó hoạt động? – Subham93

+0

Không, vẫn bị kẹt. – Vashum

+0

Tôi chưa loại trừ UIActivityTypeCopyToPasteboard. Người dùng Atleast có thể sao chép và dán ứng dụng đó là gì nếu trực tiếp không hoạt động. – Subham93

Trả lời

7

chính sách WhatsApp đã cập nhật mà không cho phép văn bản đơn giản để được chia sẻ cùng với hình ảnh hoặc URL hoặc tài liệu.

Nếu bạn đang cố gắng chia sẻ hình ảnh và URL riêng biệt, nó sẽ lấy đối tượng cuối cùng từ mảng đó và sẽ chia sẻ nó.

Bạn có thể gửi hình ảnh theo cách này:

NSMutableArray *activityItems= [NSMutableArray arrayWithObjects:img, nil]; 
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; 
activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo,UIActivityTypePrint,               UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact,               UIActivityTypeSaveToCameraRoll,UIActivityTypeAddToReadingList,               UIActivityTypePostToFlickr,UIActivityTypePostToVimeo,               UIActivityTypePostToTencentWeibo,UIActivityTypeAirDrop];  
[self presentViewController:activityViewController animated:YES completion:nil]; 

Ngoài ra, bạn sẽ cần phải thiết lập sự cho phép trong file Plist cho iOS9

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

Bất kỳ tùy chọn nào để chia sẻ cả hình ảnh và văn bản, hiện tại không thể chia sẻ hình ảnh và văn bản cả hai. –

+0

@JaywantKhedkar Nope nó vẫn không thể chia sẻ hình ảnh và văn bản. Tuy nhiên, bạn có thể chia sẻ URL cùng với một số văn bản. Có thể bạn có thể chia sẻ URL hình ảnh nếu bạn đang nhận được hình ảnh từ máy chủ cùng với một số văn bản tùy chỉnh mà bạn muốn chia sẻ. – Jainam

+0

Cảm ơn bạn, tôi sẽ cố gắng với hy vọng giải pháp của bạn vì vậy nó sẽ làm việc cho tôi. –

2

Bạn không thể chia sẻ hình ảnh và văn bản cả về WhatsApp sử dụng UIActivityViewController. Chỉ có một điều duy nhất bạn có thể đăng. Đó là hình ảnh hoặc văn bản.

+1

Bất kỳ tùy chọn nào để chia sẻ cả hình ảnh và văn bản, tôi muốn chia sẻ cả hình ảnh và văn bản –

Các vấn đề liên quan