iOS 8 Today Widget - SLComposeViewController не отображается должным образом

Я создал расширение, на самом деле виджет «Сегодня», используя Xcode 6, и запустил его на моем бета-устройстве iOS 8 (я являюсь зарегистрированным разработчиком iOS).

Однако, будучи новичком в разработке, я столкнулся с этой проблемой, когда SLComposeViewController «застревает» внутри своего представления (показано ниже), считая, что пользователь не может взаимодействовать с ним и, следовательно, не может опубликовать твит.

Изображение для справки:

Есть ли способ исправить это и вывести SLComposeViewController на передний план, перед панелью Центра уведомлений? Любая помощь будет оценена по достоинству.

Редактировать: (да, исправил текст "Hello World")

2-е редактирование: вот мой код SLComposeViewController:

- (IBAction)TwitterShare:(id)sender; {

    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
    {
        SLComposeViewController *tweetSheet = [SLComposeViewController
                                               composeViewControllerForServiceType:SLServiceTypeTwitter];
        [self presentViewController:tweetSheet animated:YES completion:nil];
    }

    else

    {

        UIAlertView *twitterAlert = [[UIAlertView alloc] initWithTitle:@"Uh oh!" message:@"Ensure you have setup a valid Twitter account and/or you have allowed access for Twitter in this application." delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];


        [twitterAlert show];
        twitterAlert = nil;
    }

}

person iPwnTech    schedule 09.06.2014    source источник
comment
Не могли бы вы поделиться своим кодом SLComposeViewController?   -  person David Gölzhäuser    schedule 09.06.2014
comment
Поделился, как указано выше, любая помощь будет здорово!   -  person iPwnTech    schedule 09.06.2014
comment
FYI IIRC, вы не можете использовать клавиатуру из расширения Today. Позвольте мне попытаться найти ссылку на это.   -  person Yazid    schedule 09.06.2014
comment
Нашел. Из Руководство по программированию расширений приложений. Поскольку взаимодействие пользователя с виджетами происходит быстро и ограничено, вам следует разработать простой оптимизированный пользовательский интерфейс, который выделяет интересующую пользователей информацию. ограничить количество интерактивных элементов в виджете. В частности, обратите внимание, что виджеты iOS не поддерживают ввод с клавиатуры.   -  person Yazid    schedule 09.06.2014
comment
Похоже, вам действительно нужно отрегулировать высоту   -  person Andrew    schedule 09.06.2014


Ответы (1)


Согласно документации Apple, SLComposeViewController не может отображаться в NC. Они хотят, чтобы все, что требует ввода с клавиатуры, происходило в приложении.

person Stephen    schedule 28.09.2014