2013-10-25 1 views
1

У меня есть базовый UIActivityViewController, который использует некоторый текст и URL-адрес. Параметры совместного доступа - электронная почта, SMS, Twitter и Facebook. Все работает отлично в iOS 6, но в iOS 7, когда я выбираю Twitter или Facebook, не касаясь ничего, что мое устройство автоматически закрывает мое приложение, открывает Safari и переходит к URL-адресу, который я пытаюсь использовать. Что может быть причиной этого?UIActivityViewController автоматически «Нажатие» Ссылка iOS 7

Код (CustomActivityItemProvider подкласс, чтобы настроить текст, основанный на дольщика):

if ([UIActivityViewController class]) { // if class exists = ios6+ 

    // Create array for sharing 
    CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc] 
               initWithStandardText:@"Text to share.\n"]; 

    NSURL *urlToShare = iTunesShort ? iTunesShort : [NSURL URLWithString:iTunesLink]; 

    NSArray *activityItems = @[textToShare, urlToShare]; 

    // Show sharing view 
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] 
              initWithActivityItems:activityItems applicationActivities:nil]; 
    activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeCopyToPasteboard, 
             UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll]; 

    [self presentViewController:activityVC animated:TRUE completion:nil];  
} 
+1

не могли бы вы загрузить код. –

+0

Код ОК добавлен. –

+0

Я испытал его работу идеально. попробуйте с diff. url, как yahoo pr google, а затем расскажите, что происходит в hhpening. –

ответ

0

Так что я до сих пор не знаю, почему только сокращенные URL-адреса были причиной этой проблемы, но решение, позаботилась об этом было включить urlToShare в textToShare.

// Create array for sharing 
NSString *urlToShare = iTunesShort ? iTunesShort : iTunesLink; 
NSString *textWithUrl = [NSString stringWithFormat:@"Text to share.\n%@", urlToShare]; 
CustomActivityItemProvider *textToShare = [[CustomActivityItemProvider alloc] 
              initWithStandardText:textWithUrl]; 

NSArray *activityItems = @[textToShare];