Swift 3: как добавить ссылку в imessage?

Я пытаюсь добавить ссылку в приложение стикера iMessage. Ссылка открывает страницу магазина стикеров iTunes. Когда я добавляю этот код в файл MessagesViewController.swift, я получаю сообщение об ошибке «общий доступ недоступен: вместо этого используйте решения на основе контроллера представления, где это уместно». Как правильно добавить ссылку?

 func clickMe(sender:UIButton!)
{
    UIApplication.shared.open(URL(string: "itms-apps://itunes.apple.com/app/id11111111")!)
    print("Button Clicked")
}

person user2901972    schedule 02.04.2017    source источник
comment
Является ли MessagesViewController подклассом UIViewViewContoller?   -  person Muzahid    schedule 02.04.2017


Ответы (2)


Перейдите к настройкам сборки Xcode, найдите расширение и измените значение с «Да» на «Нет» в «Требовать только безопасное для расширения приложения API», после чего вы сможете получить доступ без каких-либо ошибок.

UIApplication.shared.open(URL(string: "your url address")!)
person Shauket Sheikh    schedule 24.05.2017

Расширения iOS имеют некоторые ограничения, поэтому вы не можете получить доступ ко всем API, которые доступны из приложения.

Некоторые API недоступны для расширений приложений

Из-за своей целенаправленной роли в системе расширение приложения не может участвовать в определенных действиях. Расширение приложения не может:

Получите доступ к объекту sharedApplication и, следовательно, не можете использовать какие-либо методы этого объекта...

Дополнительные сведения см. в этом руководстве по программированию расширений приложений.

person abdullahselek    schedule 02.04.2017