2017-02-09 3 views
0

이미지, url 및 텍스트를 wechat과 공유하려고하지만이 메시지가 나타납니다. 나는 UIActivityViewController를 사용하여 wechat과 콘텐츠를 공유하는 것이 간단하다. 하지만 공유 할 수 없습니다. 확인하는 중요한 변수가 URL입니다 위챗에서 "이 유형의 콘텐츠를 공유 할 수없는"버그를 들어UICctivityViewController가 Wechat와 공유하지 않습니다.

UIImage * shareImage = [UIImage imageNamed:@"igo-logo-small"]; 
UINavigationController * nav = fromVC.navigationController; 

// error handling 
NSString * error = nil; 
for (;;) { 

    // sanity 
    if (text == nil || url == nil || shareImage == nil || nav == nil) { 

     error = @"arguments not all valid"; 
     break; 
    } 

    // setup share controller 
    UIActivity *activity = [[UIActivity alloc] init]; 
    NSArray *applicationActivities = [[NSArray alloc] initWithObjects:activity, nil]; 
    FilteredActivityViewController * activityController = [[FilteredActivityViewController alloc] initWithActivityItems:@[text, shareImage, url] applicationActivities: applicationActivities]; 

    if (activityController == nil) { 

     error = @"share controller nil"; 
     break; 
    } 

    // success - made it to end 
    [nav presentViewController:activityController animated:YES completion:nil]; 
    activityController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) { 
     NSLog(@"completionWithItemsHandler, activityType: %@, completed: %d, returnedItems: %@, activityError: %@", activityType, completed, returnedItems, activityError); 
     if ([activityType isEqualToString:@"com.apple.UIKit.activity.CopyToPasteboard"] && completed) { 
      [MBProgressHUD showSuccessWithoutImage:@"Copied" toView:nav.view]; 
     } 
    }; 
+0

당신이 그것을 해결 되었습니까? 내 앱이 동일하게 보이며 작동하는 데 사용됩니다. – Pierre

답변

1

:

enter image description here

여기 내 코드입니다. 다음 코드는 저에게 적합합니다

UIActivityViewController *activityView = [[UIActivityViewController alloc] initWithActivityItems:@[@"SampleMessage", [UIImage imageNamed:@"sampleImage"], [NSURL URLWithString:@"http://www.google.com"]] applicationActivities:nil]; 

코드에 URL 변수가 의심 스럽습니다. 코드에서 초기화 된 것을 볼 수 없기 때문에 올바른 URL인지 확인할 수 있습니까? 위의 코드를 사용해보고 문제가 해결 될 수 있도록 문제가 해결되었는지 또는 전체 공유 코드를 게시했는지 확인하십시오.

+0

이것은 약간 이상한 것 같습니다. 공유 할 이미지 또는 URL이 있어야하는 이유는 무엇입니까? WeChat에 더 익숙한 사람이 약간의 빛을 발산합니까? – antimatter

+0

유감스럽게도 WeChat은 UIActivityViewController와 함께 사용할 때 텍스트 만 허용하지 않으므로 이미지/URL을 추가해야 작동합니다. – Pops

2

정확히 동일한 오류 대화 상자를 받았고 다음과 같이 해결했습니다.
텍스트 만 전달하면 항상이 오류가 발생합니다. 그러나 URL 또는 이미지와 결합하면 WeChat이 정상적으로 진행됩니다.

나는이 한 번에 작동하는 데 사용 확신하고 위챗은 단순히 텍스트 만 가능 경우가 좋은 것 - 모든 다른 애플 리케이션이 할 것처럼 (또는 WhatsApp, 라인, ...)