Совместное использование с UIActivityViewController initWithActivityItems, производящие разные результаты на iOS7 и iOS8
У меня проблема с совместным использованием в моем приложении, и мне интересно, что я делаю что-то неправильно, или если это возможно ошибка в iOS8.
В моем приложении у меня есть возможность обмениваться файлами, если тип доступа поддерживает вложения, который он прикрепляет к файлу (например, по электронной почте), в противном случае он разделяет строку, содержащую ссылку на файл.
При создании активности share я делаю что-то вроде этого (я значительно упростил собственную реализацию, но это пример):
-(void)showShareButtons:(BOOL)animated
{
NSString *textToShare = @"Foobar!";
NSURL *myWebsite = [NSURL URLWithString:@"http://www.stackoverflow.com/"];
NSString *localPath = [NSTemporaryDirectory() stringByAppendingPathComponent:"temp.foo"];
NSURL *localFile = [NSURL fileURLWithPath:localPath];
NSArray *objectsToShare = @[textToShare, myWebsite, localFile];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
NSArray *excludeActivities = nil;
activityVC.excludedActivityTypes = excludeActivities;
[m_viewController presentViewController:activityVC animated:YES completion:nil];
}
На iOS7 я получаю варианты "Сообщение, почта, Twitter и Facebook" для обмена, что я и ожидаю.
-For Mail и Message использует String, URL и локальный файл
-For Twitter и Facebook - только строка и URL-адрес, где URL-адрес представлен как правильная ссылка (не показана в сообщении)
На iOS8 я получаю только сообщения Message и Mail, оба они такие же, как в iOS7.
Похоже, что теперь он ограничивает его совместным использованием опций, поддерживающих каждый элемент, тогда как перед ним будут перечислены элементы, которые поддерживали любой.
Информация о строительстве:
Оба они создаются в бета-версии xCode6, а цель развертывания в настоящее время установлена на iOS7.0
iOS 8.0 (12A4345d) на iPhone 5 (MD295C/A), 7.1.2 (11D257) на 4S (MD241C/A)
edit: Кроме того, если я устанавливаю только один параметр, например строку, доступны все параметры. Поэтому я могу поделиться с ними обоими (то есть, они включены)
Ответы
Ответ 1
На самом деле это должно быть другим способом, в iOs8 UIActivity UIActivity
все сайты совместного UIActivity
, которые установлены на устройстве. Например: Facebook, twitter, Vimeo и т.д. На основе типа файла, который вы отправляете для метода initWithActivityItems:
Но в iOs7 только почта, сообщение и т.д. Будут перечислены в UIActivity
, где Facebook, Twitter, Vimeo будут перечислены только в том случае, если вы вошли в настройки устройства.