2016-06-14 4 views
1

Я написал код, и все хорошо работает на симуляторе. И я проверил официальный документ о том, как работать на устройстве. Это то, что я сделал:Как запустить интерактивное приложение с автономным пакетом в реальном устройстве?

1, закомментировать эту строку в AppDelegate.m

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; 

2, раскомментируйте:

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 

И они говорят

«Статическая пакет автоматически генерируется с помощью этапа сборки исходного кода и изображений «Bundle React Native code and images» при запуске проекта на реальном устройстве »

Я нажал «запустить», и появился красный экран: «connect отказано». Чтобы обеспечить main.jsbundle IS в проекте, я вручную генерирую его командой curl. Но ошибка все еще там:

Websocket connection failed with error ErrorDomain=NSPOSIXErrorDomain Code=61 'connection refused' 

часов в прибегая к помощи, но не получил никакой помощи.

ответ

0

Изменить sheme на Релиз. Это работает.

Но что еще смущает то, почему отладки не работает ..

+0

Когда вы меняете схему на выпуск, она собирается скомпилировать весь jscode и сделать его доступным в основном комплекте. Так вот как это работает в автономном режиме. В Debug он перейдет на localhost: 8081, поэтому он не работает. Даже при отладке возможно, если вы скомпилируете ur jscode и добавите в свой проект. –

0

При изменении схемы для освобождения, он собирается собрать всю jscode и сделать его доступным в главной пачки. Так вот как это работает в автономном режиме. В Debug он пойдет на localhost:8081, потому что в вашем основном пакете не будет собран АОЭД. поэтому он не работает. Даже при отладке возможно, если вы скомпилируете ur jscode и добавите в свой проект.

Смежные вопросы