Перейти к содержанию
  • Регистрация
  • 0
Losev Andrei

Деплой приложения на iOS (Delphi 10.3.3 в связке с macOS Catalina)

Вопрос

Приветствую!

Кто-нибудь пробовал сабж? Есть у меня рабочий проект под Android, который нужно перетащить под iOS. Сразу скажу, что раньше с Apple дело не имел, так что на первый взгляд показалось несколько запутанно, но спустя несколько дней уверен, что практически все сделано верно. А вот результат — ноль. Так что нужна помощь.

Итак, что есть из ПО/железа:

  • Delphi 10.3.3 на Windows 7 Pro;
  • macOS 10.15.1 на VMware workstation Player 15.5.1;
  • Xcode 11.2.1 (SDK iPhoneOS 13.2) / 10.3 (SDK iPhoneOS 12.4);
  • PAServer 20.0 (тот который не ругается на истекший срок сертификата);
  • iPhone 6s с iOS 12.4.1;

Что сделано на developer.apple.com:

  • Выпущен сертификат iOS Development, установлен в macOS;
  • Зарегистрирован App ID вида ru.domain.* для iOS;
  • iPhone зарегистрирован как device (он доступен в XCode);
  • Создан provisioning profile, тип — iOS development, установлен в Xcode и на телефон;

Что имеем в результате: в Xcode 10.3 (выбран командой xcode-select) могу создать тестовый проект, с тем же именем, что в Delphi, и запустить на телефоне, из чего следует, что подтянутый profile и сертификат в порядке;

В Delphi:

  • Build Configurations – Release (Debug тоже пробовал);
  • Target platform – iOS Device 64-bit – iPhoneOS 12.4 – MacOs 10.15 profile;
  • Target — мой iPhone 6s;

В Delphi проект успешно собирается, но не деплоится, получаю ошибку: «No provisioning profile found for the selected build configuration». Дополнительно вылезает окно справки «Troubleshooting: Cannot Connect to the MAC», похоже не имеющее отношение к делу.

Delphi в Options-Deploymet-Provisioning действительно не находит нужный профайл и ничего кроме <Use Environment Option (Auto) > не доступно. В Options-Version Info CFBundleIdentifier выставлен такой же, как в Xcode при успешной сборке проекта (то есть «ru.domain.имя проекта»).

На стороне Мака в терминале имеем выполнение Paserver-ом набора команд (Paserver запускаю посредством PaServerManager):

> command_line: "/usr/bin/xcrun" simctl list devices

> command_line: "/Applications/PAServer-20.0.app/Contents/MacOS/iosinstall" -q -v -t 5

> command_line: "/Applications/PAServer-20.0.app/Contents/MacOS/iosinstall" -q -v -t 5

> command_line: "/usr/bin/security" find-identity -v

> command_line: "/usr/bin/security" find-certificate -p -a -c "iPhone Developer: Andrei Losev (GJ...)"

> command_line: "/usr/bin/security" cms -D -i "/Users/macuser/Library/MobileDevice/Provisioning Profiles/590086d7-76d7-4f2b-951f-a2dc329823a6.mobileprovision"

То есть Paserver пытается «подцепить» правильный сертификат и нужный provisioning profile, но по какой-то причине эта попытка не приводит к ожидаемому результату. На самом телефоне (Xcode-Window-Devices-iPhone-View Device Logs) лог не создается. Результат с Xcode 11.2.1 аналогичный.

Что не так? У меня идеи закончились.

Изменено пользователем Losev Andrei

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

Проблема была в правах доступа на МАКе. Выяснилось случайно, когда попробовал делоить тот же проект под МАК и IDE выдала явную ошибку о невозможности создать файл во вложенной в /Users/macuser/PAServer директории. Вылечилось раздачей прав Read & Wtite для ролей staff/everyone для папки PAServer и вложенных директорий (Apply to enclosed items).

На quality.embarcadero.com есть по крайней мере две заявки на эту тему, почему-то закрытые: RSP-25526 и RSP-26093

В первой автор откатился на Mojave, во второй стоит «Resolution: Cannot Reproduce». Так что описанная проблема спорадический возникает.

Всем успехов и поменьше граблей на пустом месте :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 12.12.2019 в 11:56, Losev Andrei сказал:

Всем успехов и поменьше граблей на пустом месте :)

Так вам удалось подружить Embarcadero  10.3.3 и Xcode 11.2.1? Под Каталину приложуха построится? А то в сети читаю гневные отзывы, что это только обещания, а в реале новый SDK не подтягивается 

Изменено пользователем giveaway

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Ответ положительный, но без танцев с бубном, как я уже писал, не обошлось. Приложение писал для себя, теперь живет у меня на iPhone 6s с iOS 13.3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
1 час назад, Losev Andrei сказал:

Ответ положительный, но без танцев с бубном, как я уже писал, не обошлось.

И вдогонку вопрос - а Каталину только версия для Delphi поддерживает? А С++ нет? В описании к нему ни строчки о поддержке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От ComAlex
      Здравствуйте, господа программисты!
      Пытаюсь протестировать Android приложение на любом эмуляторе.
      Всегда одна ошибка "Unable to create process: Performing Streamed Install"
      Понимаю, что ссылок много по данной теме в интернете, но ни одна не помогла.
      Использую Embarsadero Delphi 10.3
      При компиляции на реальный телефон всё работает
      При компиляции на эмулятор даже пустого приложения выдается та же ошибка
      "Unable to create process: Performing Streamed Install"
      В чем проблема? Хотя бы в какую сторону копать?
    • От M1shQa
      И снова я к Вам за советом, господа. Задачка: пользователь кидает телефон в карман и в фоновом режиме программа сама проверяет каждые секунд 15 наличие новой строки в стринглисте, который цепляется с файла и пытается отправить http запрос. Как мне до этого подсказали копать надо в сторону сервисов. Что же, начал: создал сервис, прицепил к приложению, кинул на него таймер и http от indy, написал кучу кода. Как итог - сервис виден в процессах но таймер не срабатывает и ничего не происходит (запускаю приложение, что бы запустить сервис, выхожу из него и жду проверяя данные на сервере). Но происходит совсем ничего. Туда ли я вообще полез или это нужно реализовывать как то иначе? Стоит local сервис, может проблема в этом? Ниже в темах писали что таймер не работает или еще что, при компиляции ничего не ругается, хотя условий там море и т.д. Все данные которые мне нужно отправить цепляются из текстовых файлов и далее в TStringList..  Понятное дело что такой сервис будет жрать батарейку и кучу трафика, но они так и так тратятся пользователем в "ручном" режиме
    • От uuxyyz
      Коллеги, добрый день. Отписался сегодня по выходу XE8, но решили таки продолжить мытарства. Вопрос, кто нибудь может подсказать, как собрать 64 битное IOS приложение? Сегодня установили XE8, линковщик требует libsqlite3.a и все. 
    • От Alexander616
      Собрал сервис по туториалу



      Но к сожалению не работает, может ктонибудь посдказать в чём проблема?
      стандартно запускается программа, но после её закрытия в запущенных апликациях сервиса не видать.

      По туториалу:
      В ивенте сервиса AndroidServiceStartCommand
      пишу : Result := TJService.JavaClass.START_STICKY;

      При создании формы основной программы: FService := TLocalServiceConnection.Create; FService.StartService('RADService');
        Сервис регистрирую в основной программе как показано в туториале.
    • От alexbirukov
      И так, столкнулся с новой проблемой.
       
      Был проект опубликованный ранее. Сейчас делал новую версию в XE8.1 на iOS 8 поколения. Всё замечательно работало на iOS 8.3-8.4. Но при проверке на этой неделе, приложение отклонили, по причине того, что на iOS 9, на которой они проверяли, приложение зависает на Splash скрине и дальше не прогружается. Что очень странно. Приложение простое, при запуске пытается подключить к серверу и получить URL адреса, а дальше воспроизведение потокового аудио.
       
      Вопрос. Кто уже публиковал приложения для iOS после выхода 9 версии? Всё ли нормально? В какой версии студии писали приложение?
       
      Свежая версия студии не подходит, потому, что не работает с Push на Android, как вариант писать под разные платформы на разных студиях, что тоже в плане кроссплатформенности совсем не камильфо.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...