Как получить доступ к keyWindow в расширении share в ios?

Мне нужно получить доступ к keyWindow в расширении share для моего приложения.
– Добавить представление индикатора
– Доступ к ширине и высоте окна

Я написал следующую строку в расширениях расширений:

UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow]; 

Но он говорит, что «sharedApplication» недоступен.
Как я могу получить доступ к keyWindow в расширении share?

Нужны ваши ценные предложения.
заранее спасибо

3 Solutions collect form web for “Как получить доступ к keyWindow в расширении share в ios?”

Совместное приложение недоступно для расширений. Вы не можете получить доступ к ключевому окну из расширения общего доступа. Вы можете подклассифицировать контроллер ShareExtension View из UINavigationController и можете представить контроллер модального просмотра, а затем можно также навигация. В этом модульном контроллере можно добавить индикатор активности.

 UIApplication *application = [UIApplication performSelector:@selector(sharedApplication)]; UIWindow *keyWindow = application.keyWindow; 

однако, keyWindow – это nil …

UIApplication недоступен для расширений. Чтобы добавить представление индикатора, вам нужно сделать это через свой стек UIViewController, но вы можете получить размер экрана, что может быть достаточно в зависимости от конкретного варианта использования (быстрый):

 UIScreen.mainScreen().bounds.size 

Подробнее о различиях между [UIScreen mainScreen] .bounds vs [UIApplcation sharedApplication] .keyWindow.bounds?

Обновить

Альтернативой использованию UIScreen для получения размера является перемещение по иерархии представлений. Это работает в любом месте UIView или UIViewController, где выложено представление. Вы также можете добавить индикатор в самый верхний вид.

 // Find the top most view var view: UIView = self; while let higherView = view.superview { view = higherView; } // Size you need var size: CGSize = view.frame.size; // Add the indicator let indicator: UIView = UIView(frame: CGRectMake(100, 100, 100, 100)); indicator.backgroundColor = UIColor.orangeColor(); view.addSubview(indicator); view.bringSubviewToFront(indicator); 
  • Проблемы с зависимостями расширения iOS 8. Импорт одного файла проекта в контроллер представления расширения
  • Расширение расширения iOS Изменение размера предварительного изображения с помощью Swift
  • Расширение Share iOS не завершается
  • Расширение Share iOS не работает
  • Расширения для хостинга приложений должны соответствовать руководству по программированию расширений приложений
  • Изменение цвета цвета / текста SLComposeSheetConfigurationItem
  • Открыть схему URL из расширения iOS
  • Как создать расширение для iOS для контактов
  • Медленное расширение рассылки iOS
  • Загрузить фотографию и связать с PFObject в ShareExtension
  • iOS добавляет расширение на карты
  • Interesting Posts

    Удалите авторское право и полное имя пользователя в начале каждого файла в Xcode 6.2

    Как я могу узнать, какой включенный код делает мой универсальный бинарный iOS таким большим?

    Swift: приоритет для пользовательского оператора относительно точечного (".") Литерала

    Xcode – только iPhone, проверка жалобы на проблемы с iPad и iTunes Connect, жалующиеся на скриншоты iPad

    Удалить (удалить) приложение iOS из исходного кода?

    Проблемы UITextField в iOS 5 путем изменения UITextFieldBorderStyle во время выполнения

    Firebase. Не удалось найти файл конфигурации: «GoogleService-Info.plist»

    Swift – NSTimer передает неправильное значение для параметра userInfo

    Удаление файлов .xcuserstate и DS_Store из git

    iOS 6 GKChallenge генерирует уникальный идентификатор?

    Обработка ошибок NSKeyedUnarchiver – предотвращение сбоев в Swift

    Как сообщить родительскому диспетчеру просмотра об изменении ориентации экрана в модульном контроллере просмотра?

    Как разделять строки для UIScrollView / UITextView в зависимости от размера кадра

    IOS: реклама iAD

    «Память управляется автоматически» – как?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.