2010-11-27 3 views
0

Проблема возникает при XCode> «Сборка и запуск»,
не при запуске в «Инструменты> утечки». Так что это проблема с Xcode.
Если это так, я не против делать дополнительную перестройку.Как предотвратить необходимость восстановления приложения после смены языка/региона

Однако, если вопрос будет также происходить после того, как приложение будет размещено в Itunes магазина приложений,
и клиент устанавливает приложение в своем устройстве,
ей придется переустановить приложение каждый раз, когда она меняет язык/регион.
(иглы сказать, что было бы неприемлемо).

Эта проблема:
a) только в Xcode (не в магазине приложений)?
б) не испытаны другими разработчиками, вероятно, это ошибка в приложении? или
c) Вероятно, поверхность, даже если приложение установлено путем загрузки из магазина приложений?

Если «b» или «c», любые идеи, как исправить это?

---------------- Действия по воспроизведению проблемы -----------------
В процессе разработки:
1) Сделайте Xcode> «Build and run», убедитесь, что приложение работает как ожидалось (в симуляторе или устройстве);
2) Изменение языка и региона (в iPhone в 'Настройки> Основные>')
3) Проверка:
-console показывает неинформативных ошибку:
Программа получила сигнал: «SIGKILL». не
-App врежется в фоновом режиме, значок значок
щелчка приложения в больше не запускает что приложение
(экран по умолчанию отображается для второго, а затем падает
4) Есть еще один приложения) „Создать и запустить“
5) подтвердите, что приложение запускается и работает хорошо
(на новом языке и в любом месте, как ожидалось, поэтому строки локализации приложения и т. д. работают нормально).

6) Выполните 'Run с Performance Tool> ПРОТЕЧКАМ'
7) Изменить язык и регион (в 'Настройки' на iPhone в)
8) не проверить не проблема.
Точность:
Прибор отслеживания прерываний (без сбоев в приложении или в инструменте), и
пользователь может перезапустить приложение в iPhone, как обычно (шаги 3 и 4 устранены).

ответ

1

Я видел подобное поведение. Между шагами три и пять вы можете попробовать «остановить отладку» в Xcode и пропустить перестройку.

Я могу изменить язык на устройстве, а затем использовать приложение с выбранным языком без новой сборки, но сначала я должен нажать кнопку остановки в Xcode.

+0

Спасибо. В этом случае проблема возникает, даже если я «прекратил отладку». Если я также выйду из xcode, запуск приложения, изолированного в устройстве, произойдет сбой на одном из экранов. Поскольку проблема связана только с изменением языка и региона и не возникает при запуске инструментов производительности, похоже, проблема в том, как xcode развертывает приложение, а не в приложении. Это головоломка. – sambaMan 2010-12-19 03:35:19

0

РЕШЕНИЕ: Проблема была в приложении.
Он хранит локализованное значение в .plist и использует это значение для сравнения.
Когда язык был изменен, значение в .plist осталось на старом языке, поэтому сравнение (со значением на новом языке) не удалось.
Исправлено с использованием языковых значений в .plist и сравнении.

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