2016-10-08 3 views
0

Я пытаюсь построить расширение iMessage для своего приложения, но требует, чтобы Parse извлекал данные. Проблема я бегу в когда я отмечаю свой файл AppDelegate, нацеленную на расширение я получаю ошибку:Расширение iMessage с Parse

'sharedApplication is unavailable.' Use view controller based solutions where appropriate instead 

Я предполагаю, что этот вопрос, потому что Анализировать никогда не инициализируется. Кто-нибудь сталкивался с этим или знал, как его обойти?

Вот моя инициализация синтаксического анализа на AppDelegate:

Parse.enableLocalDatastore() 

    let parseConfiguration = ParseClientConfiguration(block: { (ParseMutableClientConfiguration) -> Void in 
     ParseMutableClientConfiguration.applicationId = "e81dbc81e92cedd3fbd2e11a175c39d454ca2938df" 
     ParseMutableClientConfiguration.clientKey = "431a68273c2a3a60d9cx43f5e9f1b32ad15350de2" 
     ParseMutableClientConfiguration.server = "http://ec2-47-xx-xx-21.us-west-2.compute.amazonaws.com:80/parse" 
    }) 

    Parse.initialize(with: parseConfiguration) 
+0

можете ли вы опубликовать код инициализации синтаксического анализа и код, в котором вы пытаетесь получить доступ к делегату приложения из вашего внутреннего номера? Ошибка связана с тем, что у вас нет доступа к sharedApplication из вашего расширения ... ваше основное приложение может/не запускаться, когда люди используют расширение, поэтому нет доступа к appDelegate. – BJHStudios

+0

Я добавил инициализацию синтаксического анализа, я не уверен, как получить доступ к appDelegate с расширением – user3255746

+0

вы не можете. ответит через минуту. – BJHStudios

ответ

0

Экземпляр AppDelegate, который доступен через ваше основное приложение не доступна для вашего расширения Шеззад, тот же вопрос, который обсуждался here.

Чтобы добиться такого же поведения, поместите тот же код инициализации, который вы поделили, в метод viewDidLoad() вашего начального MSMessagesAppViewController расширения iMessage, или где-нибудь еще, что вы знаете, вызывается, прежде чем вы сначала попытаетесь получить доступ к Parse.