Если вы случайно используете Wordpress для разработки своего приложения (на самом деле это удобный способ получить авторизацию, информационные страницы и т. д. даже для очень простых вещей), вы можете использовать следующий фрагмент:
$response = wp_remote_post( $url, array('body' => $parameters));
if ( is_wp_error( $response ) ) {
// $response->get_error_message()
} else {
// $response['body']
}
Он использует разные способы создания фактического HTTP-запроса, в зависимости от того, что доступно на веб-сервере. Для получения дополнительной информации см. Документацию HTTP API .
Если вы не хотите разрабатывать пользовательскую тему или плагин для запуска механизма Wordpress, вы можете просто сделать следующее в изолированный PHP-файл в корневом каталоге wordpress:
require_once( dirname(__FILE__) . '/wp-load.php' );
// ... your code
Он не будет отображать какую-либо тему или выводить какой-либо HTML-код, просто взломайте API-интерфейсы Wordpress!
Я имел некоторые звуковые эффекты, которые играли прекрасный в средстве моделирования, но не на устройстве. Я должен был изменить формат на что-то, что обработает устройство.
У меня была проблема при выполнении относительно простого 1/30 таймера секунды, чтобы сделать обновления для игры. Это хорошо работает в средстве моделирования и выживает вход на устройстве.
Не полагая, что различия в производительности между этими двумя, там используемыми, некоторые вещи, которые средство моделирования не сделало правильно - т.е. оно испортит аудио в некоторых случаях (см. этот вопрос ). Однако начиная с 2,2 SDK этот вопрос был решен, и звук, кажется, прекрасен в средстве моделирования. Но это вовсе не значит то, что существуют некоторые другие несовместимости, скрывающиеся там! (Просто ни один я столкнулся)
Существуют определенные биты кода, который не будет работать над средством моделирования (использующий iPhone Keychain, например), но почти для всех приложений, средство моделирования будет работать точно как iPhone.
Однако нет абсолютно никакой замены для тестирования на физическом устройстве.
Также обратите внимание, что Вы будете компилировать против платформ OS X (где применимый) при создании для средства моделирования, таким образом, Вы могли использовать методы и классы, которые не доступны на версиях iPhone платформ.
Одним примером, о котором я могу думать первое, что пришло на ум, является NSPredicate. Я смог скомпилировать и запустить приложение с помощью NSPredicate в средстве моделирования, но это не скомпилирует для устройства, так как тот класс не доступен.
Я знаю, что существуют некоторые различия в реализации ES OpenGL между устройством и средством моделирования. Из того, что я понимаю, что это главным образом из-за графического процессора на iPhone (PowerVR MBX), имеющий весьма различные возможности, чем другие машины Mac. Многие аппаратные пределы не осуществляются в средстве моделирования, таким образом, совершенно возможно получить что-то работающее в средстве моделирования, которое полностью откажет на устройстве.
существуют также некоторые расширения ES OpenGL, которые поддерживаются аппаратными средствами iPhone, которые не поддерживаются в средстве моделирования. Я полагаю, что главный является сжатием структуры PowerVR (PVRTC).
Другой проблемной областью может быть объем потребляемой памяти. Анекдотическим образом я не видел, что средство моделирования автоматически осуществляет ограничения памяти устройства. Поэтому возможно иметь что-то, что работает в прекрасном средстве моделирования, счастливо использующие обильные суммы RAM и никогда не потрудившийся освобождать любой из него только, чтобы быть быстро завершенным после короткой продолжительности такого поведения при работе устройства.
Если Ваше приложение является интенсивной графикой, как говорят игру, производительность средства моделирования НЕ напоминает во всем то из аппаратных средств. Ваше приложение, вероятно, будет гладким и работать отлично на средстве моделирования, но на аппаратных средствах это, вероятно, представит при проверке, если Вы не будете знать что Ваше выполнение. Можно легко пойти от 60 футов в секунду до 3 футов в секунду между Средством моделирования и аппаратными средствами.
Относительно звуков у меня была та же проблема. Проблема была то, что звуковая кодировка, которую поддерживает Средство моделирования, является другим набором звуков, чем устройство. Я надеюсь, что это помогает.
Существует много тривиальных примеров. Например, можно выделить намного больше памяти на средстве моделирования, чем по реальному телефону. Вы не можете получить уведомление о нажатии на средстве моделирования, если у Вас нет сетчатки Mac, размер точки дисплея отличается.
На более фундаментальном уровне средство моделирования просто, что, оно моделирует iPhone OS X с помощью Mac OS X. Это свидетельствуется тем, что файловая система на средстве моделирования не может быть чувствительной к регистру, но по телефону это будет. Более тонко это не эмулирует аппаратные средства, таким образом, вещи как местоположение не будут работать, то же и 3D будет очень отличающимся - особенно при использовании Металла.
Необходимо всегда тестировать на реальных аппаратных средствах.
У меня было много проблем с библиотеками и фреймворками при переходе с симулятора на устройство. Не в последнюю очередь, что они, кажется, имеют разные архитектуры!
Yeah....
Apps compiled for 2.x will work fine on 3.0 device, but it will crash on 3.0Simulator
Note: 1. If you compile for 3.0, app will work fine on 3.0 simulator also... 2. a)Compile for 2.x and launch the app in simulator. b)Now change the iPhone Simulator Hardware to "3.0". c)Then launch the app we installed earlier in step a). CRASH !!!!!!!!
Я видел, как расположение объектов, например панелей инструментов, в симуляторе отличается от положения на телефоне. Очень раздражает.
У меня были проблемы с приложениями, требовательными к памяти, когда Симулятор мог работать нормально (потому что предполагалось, что память iPhone / iPod Touch - это все, что вам нужно), в то время как устройство выйдет из строя (из-за утечки других приложений, а фоновые службы Apple съели некоторую память), и я не реализовал должным образом управление памятью или ответ на селектор didReceiveMemoryWarning
.
Если вы включите GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS, ваше приложение вылетит повсюду в симуляторе, но будет работать на iPhone.
Вызовы кварцевой графики в симуляторе iPhone выполняются быстрее, чем вызовы Java2D на том же компьютере - очень быстро.
Инвертируйте выражение и присоедините его к правилу нарушения:
файл фильма (тип m4v), поскольку мой опыт впервые воспроизводится правильно
но во второй раз мерцает экран симулятора ...
тогда как на устройстве iPhone он работает время ...
Если строка состояния приложения скрыта, в случае симулятора он все равно потребляет событие касания. Но в аппарате ведет себя отлично.
Кончики пальцев больше конечной точки курсора мыши в 1 пиксель. Чтобы провести надлежащее, даже минимальное, тестирование удобства использования, вы должны развернуть свое приложение на устройстве.