Я пытаюсь развернуть многоплатформенное приложение (написанное на Delphi XE7 + Firemonkey) в iOS Simulator с помощью следующих параметров:
- Delphi XE7
- OSX 10.8 Mountain Lion
- XCode 5.1.1
- Инструменты командной строки
- PAServer 15.0 (iOS SDK 7.1 - также тестировался с 6.1)
Мое приложение должно работать в Windows, Android, iOS и OSX. Работает уже для всех, кроме iOS, включая OSX, которую я компилирую с той же настройкой, без проблем.
Я создал профиль подключения к своему PAServer, используя пароль, и этот профиль работает нормально как при компиляции в OSX, так и при компиляции приложения hello-world-ish для iOS, всего с помощью одной или двух кнопок.
Что касается моего приложения, я могу без проблем скомпилировать и собрать его для iOS, но когда я пытаюсь запустить его в iOS-Simulator, оно компилируется, развертывается и при запуске выходит из строя, возвращая ошибку:
Невозможно запустить процесс на «192.168.25.37» с параметрами из профиля «iOS». Была возвращена следующая ошибка: «Сеанс завершен».
Это мое первое приложение для iOS, поэтому я плаваю здесь в чужих водах. У него нет внешних библиотек, за исключением, конечно, тех, которые сам Delphi может добавить при компиляции. Я сам этого не делал, и приложение имеет только формы и обращается к текстовому файлу в своей папке песочницы и к серверу mysql через UniDac (прямой режим, без dll).
Я попытался разобраться в этом, закомментировав разумный код в своем приложении, а именно все, что было специфично для iOS, но это ничего не дало.
Затем я создал новое приложение, просто кнопку и ShowMessage в его обработчике, и оно сработало.
Следующим шагом я начал опробовать свои модули в этом более простом приложении. Первым, что я попробовал, был модуль, который у меня есть для пользовательского компонента (TRectangle с TPanel, 3x TImage, TLabel и TCheckbox внутри), с другим классом с Generics TObjectList компонента). Я просто добавил этот модуль, не создавая экземпляра какого-либо класса, и он потерпел неудачу, сообщив о «неизвестной ошибке».
Поэтому я удалил модуль из проекта, чтобы дважды проверить: снова он выходит из строя, с той же кнопкой и шоу-сообщением, которые работали раньше.
Я тогда установил SDK 7.1, но тоже не смог.
Я искал в Интернете, пытаясь разобраться в этом, и нашел несколько похожих случаев, но ни один из них не мог мне помочь:
Приложение Delphi FireMonkey для iOS: ошибка при развертывании в iPhone Simulator 8.1 В этом случае есть проблема с PAServer, и есть исправление для нее, но это относится к SDK 8.1 и XCode 6+
Невозможно установить и запустить приложение iOS на Simulator из командной строки - Simulator iOS 6.1 Xcode 5 на mavericks Я не смог установить ios-sim указанным способом, скорее всего, потому что у меня нет опыта работы с OSX. Тем не менее, я клонировал его из GitHub и сумел установить его через командную строку и XCodeBuild с некоторой помощью из Интернета, но когда я попытался запустить свое приложение, ios-sim сказал, что ему нужен как минимум XCode 6, которого у меня нет ( OSX 10.8 здесь, я считаю, что Xcode 6 требует как минимум 10.9).
После этого я установил еще один, iPhoneSim, и странно, после этого ios-sim больше не задает вопросы для Xcode6. Тем не менее, мне не удается запустить мое приложение (даже недавно созданный hello-world-ish, который работает при запуске через Delphi), заявляя:
DEBUG] Не удалось найти класс DTiPhoneSimulatorSystemRoot во время выполнения.
Даже пытался установить WaxSim, но этот не установился.
Однако я не пытался скомпилировать его для iDevice, потому что для этого мне нужно подписаться на программу Apple Developer, и я надеялся сделать это только после того, как убедился, что все работает нормально. К тому же я не уверен, что это будет иметь значение.
Кто-нибудь сталкивался с этой проблемой «Сеанс завершен», и если да, знаете ли вы какую-либо причину и исправление.
Спасибо