Как тестировать приложение локально?

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Аватара пользователя
ProcXel.A
Сообщения: 3
Зарегистрирован: 26 июн 2013, 11:42

Как тестировать приложение локально?

Сообщение ProcXel.A »

У меня при запуске приложения вызывается меню установки:

Код: Выделить всё

vk.callMethod( "showInstallBox" );
Но при локальном запуске, естесственно, не работает и появляется ошибка.
[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference.
APIConnection.as 249 строка:

Код: Выделить всё

pendingRequests.push(paramsArr);
Как мне локально запустить приложение, чтобы не было таких ошибок? В документации написано:
Для тестирования приложения и осуществления запросов к API на локальной машине Вы можете дополнить flashVars временными значениями:

Код: Выделить всё

if (!flashVars.api_id) {    // -- For local testing enter you test-code here:    flashVars['api_id'] = 1888171;    flashVars['viewer_id'] = 66748;    flashVars['sid'] = "7e22c25d7fece88f2316553937ff24f43e1073ca28e8b4302e65db35fa";    flashVars['secret'] = "6113n3e4g3";    // -- //  }
Но это не помогает. :(
Evegeniy
Сообщения: 51
Зарегистрирован: 21 фев 2013, 16:49

Re: Как тестировать приложение локально?

Сообщение Evegeniy »

ищи по форуму. здесь уже поднимался этот вопрос.
Аватара пользователя
ProcXel.A
Сообщения: 3
Зарегистрирован: 26 июн 2013, 11:42

Re: Как тестировать приложение локально?

Сообщение ProcXel.A »

тема 1
тема 2
Из двух тем, что нашел, ни в одной нет решения моей проблемы. Просто скажите по пунктам, как тестировать локально? Прописать локальные параметры для flashVars, подключить APIConnection, передать flashVars, запустить метод showInstallBox, ошибка. Что не так?

Код: Выделить всё

package {     import flash.display.MovieClip;    import vk.APIConnection;      public class Main extends MovieClip    {          public function Main()        {            var flashVars:Object = stage.loaderInfo.parameters as Object;            if ( flashVars.api_id == null )            {                flashVars[ 'api_id' ] = "1888171";                flashVars[ 'viewer_id' ] = "66748";                flashVars[ 'sid' ] = "7e22c25d7fece88f2316553937ff24f43e1073ca28e8b4302e65db35fa";                flashVars[ 'secret' ] = "6113n3e4g3";            }            var vk_api:APIConnection = new APIConnection( flashVars );            vk_api.callMethod( "showInstallBox" );        }    } }
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Как тестировать приложение локально?

Сообщение IndieGD »

Это и не будет работать локально. showInstallBox подразумевает открытие JS-окна, которому разумеется локально просто неоткуда взяться.
Аватара пользователя
ProcXel.A
Сообщения: 3
Зарегистрирован: 26 июн 2013, 11:42

Re: Как тестировать приложение локально?

Сообщение ProcXel.A »

То есть, в принципе никак нельзя локально запускать приложение без ошибок? Я просто думал, что APIConnection как-то обрабатывает локальный запуск и не мешает ошибками. :) О.К. Спасибо. Буду свои заглушки ставить.
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Как тестировать приложение локально?

Сообщение IndieGD »

То есть, в принципе никак нельзя локально запускать приложение без ошибок?
Ну да все вызовы JS API то есть VK.callMethod(...) будут отваливаться с ошибками.
Evegeniy
Сообщения: 51
Зарегистрирован: 21 фев 2013, 16:49

Re: Как тестировать приложение локально?

Сообщение Evegeniy »

Чисто теоретически если сохранить страницу вк с JS кодом может что то получиться.
Возможно не будет работать
P.S. я Чак и я пишу код без отладки 8-)
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как тестировать приложение локально?

Сообщение Serge »

А что мешает взять бесплатный хостинг и создать приложение для теста?
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Как тестировать приложение локально?

Сообщение IndieGD »

Можно обойтись даже без хостинга. Если запустить например тот же денвер (или прочий аналог) и в приложении указать адрес расположенного на денвере хоста, то он так же прекрасно будет работать (разумеется конечно работать будет только на том компе где денвер запущен). Всегда так делаю. Ибо удобнее, чем каждый раз на удаленный сервер файлы кидать :)
Ответить