Перейти к содержанию
alexbirukov

Ошибки и косяки Delphi XE10 Seattle и xCode 7

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

И так, пока русскоязычная и англоязычная части интернета молчат по поводу работы в новой Delphi XE10 Seattle в связке с xCode 7, а компании представители описывают, какое замечательное вышло обновление, пользователи столкнулись с проблемой, что приложения, сделанные на XE10 Seattle, xCode 7 + SDK9, не запускаются на предыдущих платформах.

Не совсем понятно, почему в упомянутых сегментах интернета нет совершенно никакой информации по данному поводу. Опять впереди планеты все Китай.

Пользователь блога подробно описывает конфигурацию, на которой он тестировал запуск приложения и описание проблемы. Несколько реальных устройств на разных прошивках, разные версии ПО и пр.

Коротко о главном. Если вы хотите, как можно скорей перейти на новую Delphi XE10 Seattle с целью писать свежие приложения\обновления для iOS, спешу вас разочаровать. Ваши программы перестанут работать на предыдущих версиях iOS. Статистика испытаний такова, что приложения собранные на XE10 Seattle, xCode 7 + SDK9 будут работать только на устройствах под управлением iOS9.

Вторая проблема, состоит в том, что недавнего времени AppStore при проверке приложений стала проверять их именно на iOS 9, а приложения собранные на XE8.1 такую проверку не проходят, так как зависают на стартовой заставке приложения и как следствие их отклоняют. Вот так то. Прошла уже целая неделя, а интернет по данному поводу ничего сказать нам особо не может.

На днях появилась статья от Сарины Дю Понт, о том, как всё же запустить приложение сделанные в XE8.1 на iOS9.

В результате изысканий Китайских друзей, получаем на данный момент такую картину:

XE8 + iOS 6 = полёт нормальный
XE8 + iOS 7 = полёт нормальный
XE8 + iOS 8 = полёт нормальный
XE8 + iOS 9 = зависание на экране заставки (если не воспользоваться советом Сарины)

XE10 + iOS 6 = приложение вылетает
XE10 + iOS 7 = приложение вылетает
XE10 + iOS 8 = приложение вылетает
XE10 + iOS 9 = полёт нормальный

Таким образом в XE10 Seattle и xCode 7 можно получить на данный момент только приложение, работающее на iOS9.

Ждём Delphi XE10 Seattle Update 1.

P.S. А в на Android в Delphi XE10 Seattle приложение с компонентами для отправки Push не запускается в режиме Release — Application Store. Что тоже, очень и очень печально.

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


Ссылка на сообщение

XE10 + iOS 6 = полёт нормальный
XE10 + iOS 7 = полёт нормальный
XE10 + iOS 8 = полёт нормальный
XE10 + iOS 9 = полёт нормальный

xCode 6

приложение успешно прошло проверку в app store и опубликовано единственный момент они уже не принимаю совместимость ios 6 требуют указывать минимальную версию 7

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


Ссылка на сообщение

XE10 + iOS 8 = полёт нормальный

XE10 + iOS 9 = полёт нормальный

xCode 7

Странно.

XE10 + iOS8 (iPhone 4S) - пустое приложение закрывается после заставки.

XE10 + iOS9 (Эмулятор) - запускается без проблем.

xCode 7.

 

При этом приложение собранное в XE8.1 + xCode 6.4 быль отклонено, зависло на заставке на iOS9.

Отредактировал alexbirukov

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


Ссылка на сообщение

в релизе вроде написано что версия ios 8.4 минимальная

В этом видимо и причина. На устройствах стоит 8.2 и 8.3. Приложения сделанные в XE10 + xCode 7 (SDK9) вылетают на них.

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


Ссылка на сообщение

ну так! все правильно!

а Вы "Ошибки", "Косяки"

что люди подумают?

Тогда не совсем понятно: 

XE10 + iOS 6 = полёт нормальный

XE10 + iOS 7 = полёт нормальный

XE10 + iOS 8 = полёт нормальный

 

Речь идёт об эмуляторе или проверке на реальных устройствах? Интересует запуск на реальных устройствах, поведение ПО.

 

А что люди подумают? Подумают сначала, хотят ли они изобретать костыли при переходе или нет :)

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


Ссылка на сообщение

 

ну так! все правильно!

а Вы "Ошибки", "Косяки"

что люди подумают?

Тогда не совсем понятно: 

XE10 + iOS 6 = полёт нормальный

XE10 + iOS 7 = полёт нормальный

XE10 + iOS 8 = полёт нормальный

 

Речь идёт об эмуляторе или проверке на реальных устройствах? Интересует запуск на реальных устройствах, поведение ПО.

 

А что люди подумают? Подумают сначала, хотят ли они изобретать костыли при переходе или нет :)

 

xCode 6 проверял на реальных устройствах

 

p/s изначально  обновил до xCode 7 версии

и были  ошибки после отката  на xCode 6 все заработало

Отредактировал master webs

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


Ссылка на сообщение

Спасибо за подробные ответы.

 

Ещё вопрос, XE10 + xCode 6 + iOS9, на заставке приложение не зависало на устройстве?

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


Ссылка на сообщение

нет зависаний не заметил не смотря на то что  сразу  подгружаю информацию с сайта

Да у меня тоже есть приложение с подгрузкой. Но в свете последних экспериментов столкнулся с кучей проблем во всех этих обновлениях. В результате сейчас пытаюсь проверить работу связки XE8.1 + xCode 6.4 SDK 8.4 + исправления от Сарины. Предыдущую версию без исправлений отклонили.

 

Спасибо вам большое за подробные ответы.

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


Ссылка на сообщение

Да у меня тоже есть приложение с подгрузкой. Но в свете последних экспериментов столкнулся с кучей проблем во всех этих обновлениях. В результате сейчас пытаюсь проверить работу связки XE8.1 + xCode 6.4 SDK 8.4 + исправления от Сарины. Предыдущую версию без исправлений отклонили.

 

Спасибо вам большое за подробные ответы.

связка XE8.1 + xCode 6.4 SDK 8.4  у меня не прошла проверку в app store  по причине того что приложение не запустилось на ios 9 также была проблема  с http в ios 9 они рекомендуют использовать https протокол чтобы включить http  параметры надо задавать в ручную в файле info.plist

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


Ссылка на сообщение

 

Да у меня тоже есть приложение с подгрузкой. Но в свете последних экспериментов столкнулся с кучей проблем во всех этих обновлениях. В результате сейчас пытаюсь проверить работу связки XE8.1 + xCode 6.4 SDK 8.4 + исправления от Сарины. Предыдущую версию без исправлений отклонили.

 

Спасибо вам большое за подробные ответы.

связка XE8.1 + xCode 6.4 SDK 8.4  у меня не прошла проверку в app store  по причине того что приложение не запустилось на ios 9 также была проблема  с http в ios 9 они рекомендуют использовать https протокол чтобы включить http  параметры надо задавать в ручную в файле info.plist

 

Хмммм, а вот тут можно поподробнее. Просто у меня приложение при запуске тоже делает запрос именно по http, именно это приложение зависло на заставке. А что конкретно надо изменить в info.plist?

 

Связки XE10 + xCode 6.4 + SDK 8.4 это тоже касается?

Отредактировал alexbirukov

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


Ссылка на сообщение

 

 

А что люди подумают? Подумают сначала, хотят ли они изобретать костыли при переходе или нет :)

 

вы пробовали Swift, например, там такие косяки есть, что в RAD так...детский лепет!

к последнему swift надо прилагать толмут faq-ов на все случаи жизни.

 

это к теме переходить или не переходить... :))

Отредактировал wamaco

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


Ссылка на сообщение

 

 

 

А что люди подумают? Подумают сначала, хотят ли они изобретать костыли при переходе или нет :)

 

вы пробовали Swift, например, там такие косяки есть, что в RAD так...детский лепет!

к последнему swift надо прилагать толмут faq-ов на все случаи жизни.

 

это к теме переходить или не переходить... :))

 

Нет ну я конечно понимаю, всё познаётся в сравнении. Но я считаю с последними косяками Apple, с постоянными недоделками которые стали возникать + весь этот цирк с публикацией и пр. Просто я считаю, что коробочные версии продуктов должны быть более вылизанными. А не так, чтобы 5 часов коддинга и 120 часов шаманств с бубном наперевес. :)

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


Ссылка на сообщение

заходите в Project->Deployment

там ищите в колонке Remote Name info.plist отключаете строку и в замен нужно добавить новую  но только со своим файлом с таким же названием info.plist файл нужно скопировать  он у вас есть в папке iOSDevice64/Release/project.info.plist

я копировал в корень папки проекта  для удобства открываете в любом  текстовом редакторе   (Notepad++)

и после примерно 39 строки нужно добавить

 

38 <key>FMLocalNotificationPermission</key>
39        <string>true</string>
-------Добавить  код --------
41<key>NSAppTransportSecurity</key>
42<dict>
43
44  <key>NSAllowsArbitraryLoads</key>
45      <true/>
46</dict>
 
скажу сразу что директива для всех доменов если вы используете только 1 домен  то  правило будет другое
Отредактировал master webs

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


Ссылка на сообщение

 

заходите в Project->Deployment

там ищите в колонке Remote Name info.plist отключаете строку и в замен нужно добавить новую  но только со своим файлом с таким же названием info.plist файл нужно скопировать  он у вас есть в папке iOSDevice64/Release/project.info.plist

я копировал в корень папки проекта  для удобства открываете в любом  текстовом редакторе   (Notepad++)

и после примерно 39 строки нужно добавить

 

38 <key>FMLocalNotificationPermission</key>
39        <string>true</string>
-------Добавить  код --------
41<key>NSAppTransportSecurity</key>
42<dict>
43
44  <key>NSAllowsArbitraryLoads</key>
45      <true/>
46</dict>
 
скажу сразу что директива для всех доменов если вы используете только 1 домен  то  правило будет другое

 

Спасибо БОЛЬШОЕ! Буду пробовать.

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


Ссылка на сообщение

Хммм.

 

В общем сделал сборку XE10 + xCode 6 + SDK 8.4.

Приложения собираются, запускаются всё ОК.

 

Есть iPhone 4S (8.3) в режиме Debug приложение запускается в любой конфигурации.

Если запустить в режиме Release, после запуска приложение вылетает.

На эмуляторе всё работает ОК. 

На планшете iPad Mini 2 (8.2) тоже ОК.

 

Вопрос, чем может быть связано? И будет ли если опубликовать работать на iPhone 4S если работает на эмуляторе?

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


Ссылка на сообщение

Хммм.

 

В общем сделал сборку XE10 + xCode 6 + SDK 8.4.

Приложения собираются, запускаются всё ОК.

 

 

так в чем косяк то был? 

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


Ссылка на сообщение

 

Хммм.

 

В общем сделал сборку XE10 + xCode 6 + SDK 8.4.

Приложения собираются, запускаются всё ОК.

 

 

так в чем косяк то был? 

 

Да он и остался. Первый пост про связку XE10 + xCode 7 + SDK 9.

Каким чудом вам удалось запустить приложение из XE10 + xCode 7 + SDK 9 на устройстве с iOS8 мне постичь не удалось. :)

 

Поэтому понизил до XE10 + xCode 6 + SDK 8.4. Но опять же, не запускаются приложения на iPhone 4S в режиме Release.

 

В результате сейчас использую XE8.1 + xCode 6 + SDK 8.4 + изменённый FMX.Context.GLES.iOS.pas. Отправил приложение на проверку. Посмотрим, что скажут.

Отредактировал alexbirukov

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


Ссылка на сообщение

тоже столкнулся с проблемой публикации в app store.

недавно купил б/у ipad air за сущие копейки и лафа компилю на 64бит сразу ).

конфигурация: Yosemite 10.10.5 (VMware12), XCode 7.0.1, Ipad air 9.0.1, XE8upd1

в Tools\Options\Sdk manager слева iPhoneOS 9.0, но внимание - справа 8.4 sdk.

подтверждаю, что в топике ссылка помогла, сарина рулит, скопировал файл к себе

поправил Аллок и ...все заработало без зависонов на заставке.

респект топикстартеру !

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


Ссылка на сообщение

для Delphi 10 Seatlle вышел

30398_paserver_hotfix_for_delphi_c_builder_and_rad_studio_10_seattle

 

This PAServer Hotfix provides fixes for:
- building OS X 10.11 (El Capitan) applications with Delphi, C++Builder and RAD Studio 10 Seattle
- building iOS applications that run on iOS 7, iOS 8 and iOS 9 using the iOS 9 SDK with Delphi, C++Builder and RAD Studio 10 Seattle

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


Ссылка на сообщение

Для информации. Приложения собранные с исправлением от Сарины в xCode 6.4 + XE8.1 без проблем проходят в AppStore и публикуются. 
Ключ 
 
41<key>NSAppTransportSecurity</key>
42<dict>
43
44  <key>NSAllowsArbitraryLoads</key>
45      <true/>
46</dict>
 

Не использовал при публикации, хотя приложение и обращается к удалённому xml файлу. Публикация прошла успешно.

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


Ссылка на сообщение

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

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

Гость
Ответить в этой теме...

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

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

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

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

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


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

    • От Martifan
      Привет,
      подскажите как можно реализовать авторизацию с помощью Apple ID? любые идеи.
      заранее спасибо
    • От Eric Myval
      Добрый день! Я собрал приложение и подготовил IPA файл, заполнил всю информацию, прикрепил все иконки. Когда загружаю приложение в App Store Connect и пытаюсь отправить на проверку, мне выдают следую ошибку:
      В каталог объектов Xcode необходимо добавить значок приложения с разрешение 1024х1024.
      Как это сделать? Уже всю голову сломал... 
       
      Использую Rad Studio 10.3.3 + PAServer 20 + самый свежий Xcode и последняя обнова на маке
      Пробовал и Rad Studio 10.4 + PAServer 21, аналогичная проблема
      Остальные ошибки не важны, их решить легко. Интересен только последний пункт. 

    • От Igor Aleksiyuk
      У кого нибудь вышло это сделать
    • От Martifan
      здравствуйте, я пытаюсь сделать push уведомление на iOS делаю следующим образом:
      unit Unit1; interface uses   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,   System.PushNotification, FMX.Controls.Presentation, FMX.StdCtrls,   FMX.PushNotification.iOS, FMX.ScrollBox, FMX.Memo; type   TForm1 = class(TForm)     Button1: TButton;     Memo1: TMemo;     procedure Button1Click(Sender: TObject);   private     { Private declarations }     FDeviceID: string;     FDeviceToken: string;     FPushService: TPushService;     FPushServiceConnection: TPushServiceConnection;     procedure OnReceiveNotificationEvent(Sender: TObject;        const ANotification: TPushServiceNotification);     procedure OnServiceConnectionChange(Sender: TObject;        AChange: TPushService.TChanges);   public     { Public declarations }   end; var   Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin   FPushService := Nil;   FPushServiceConnection := Nil;   FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS);   if Assigned(FPushService) then     begin       FPushServiceConnection := TPushServiceConnection.Create(FPushService);       FPushServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;       FPushServiceConnection.OnChange := OnServiceConnectionChange;       FPushServiceConnection.Active := True;     end else     Begin       ShowMessage('False');     End; end; procedure TForm1.OnReceiveNotificationEvent(Sender: TObject;   const ANotification: TPushServiceNotification); begin //  ShowMessage('OnReceiveNotificationEvent'); end; procedure TForm1.OnServiceConnectionChange(Sender: TObject;   AChange: TPushService.TChanges); begin   Memo1.Lines.Clear;   if (TPushService.TChange.DeviceToken in AChange) and        Assigned(FPushServiceConnection) then      begin        FDeviceID := FPushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];        FDeviceToken := FPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];        // save token and ID to  remote db here        Memo1.Lines.Add('DeviceID: '+FDeviceID);        Memo1.Lines.Add('DeviceToken: '+FDeviceToken);      end; end; end. все проходит нормально но получаю значение FDeviceID а значение FDeviceToken пустой все сертификаты установлены правильно и соответственно указана все правильно как я говорил перемен FDeviceID получает значение а
      FDeviceToken возвращается пустым на форумах тоже видел такую проблему но может кто то решал эту проблему?
      поделитесь пожалуйста
      заранее спасибо 
    • От Эрик Шакиров
      Подскажите пожалуйста, возможно ли сделать выбор файла в IOS. Например, также как в Android 
    • От Eric Myval
      Сегодня начал разбираться с компиляцией под Mac и под iOS и сразу столкнулся с проблемами. Использую Rad Studio 10.3.3, Mac Mini 10.15.1, Windows 10. PAServer20.0, Xcode 11.2.1 Выдает следующую ошибку на всех платформах, как iOS, так и iOS Simulator, macOS32 - 
      Unable to launch process on '192.168.8.182' using the parameters from the 'MacMini' profile. The following error was returned: 'Unable to create process: /Applications/PAServer-20.0.app/Contents/MacOS/dbkosx_26_0 Получается собрать проект только в macOS64, но! Приложения запускаются, работают, но после их закрытия в отладке, пишет, что ПО устаревшие и кидает ссылку на переход с 32 на 64. Но как так? Оно же собрано на 64х))) В общем, полный тупик и убил весь день. Есть идеи? 
    • От Сергей Сергеев
      Обнаружил глюк, как исправить - не нашел, по вот этому обсуждению на Embe - похоже он с 15 года..
      https://forums.embarcadero.com/thread.jspa?threadID=116534
      Выглядит так, взял из примера WebBrowser, прописал в дизайне адрес, к примеру Яндекс,
      и запускаю на Ифоне 5 - нажимаю Гоу, при клике на любой ссылке ( например на большой надписи Яндекс в центре), вдруг откдуда не возьмись - появляется клава - английская,
       
       
       
      которая Done, ничего никуда не вводит, и не прячется от слова Никак ( с экрана)
      дальше - тапаем в поле ввода поиска, вылазит похоже еще одна, уже похоже ФМХ клава - со словом Готово, которая работает..
      переключается и по готово - прячется.
       
       
       
       
      но после того как Готово спряталась - эта ( от Сафари чтоли ) остается, по Доне не скрывается, и при кликах по ссылкам - прячется и опять вылазит..
       
      сделал то что написано в обсуждении, но это прячется только второй ( Доне)ТулБар - клавы две так и висят..
      Ничего по теме не нашел, похоже глюк старый, и возможно уже решенный..
      пс.  клавиатуры не две все таки, два тул бара, повесил на он хайд, он Шоу обработчики, происходит следующее, по Готово - прячется клава и сразу опять показывается уже без "готово" - с "доне".. она же сразу показывается при клике по ссылке..
       
    • От Сергей Сергеев
      Приветствую всех!
      Сделал приложение для Андроид, делал свой стиль в BSD  - освоил добавление ( копированием ) панелей и чекбоксов со своими картинками.
      В принципе, все получилось, на разным смартфонах работатет - все картинки на месте.
      Но при попытке повторить стиль для Ios обнаружилась проблема, стиль для iPhone 5 ( scale 2) - все ок, но  Iphone 6+ ( scale 3) - все картинки из стиля на панельках и чек боксах берутся со смещением ( примерно 30%).
      Т.е. указана координата левого верхнего угла  в файле скажем 300 по Х, берется 400 . н у итак далее.. натыкался на тексты, что для IOS - разрешение 3х - поддерживают не все стили. Может в этом дело? никто не сталкивался?
      Попутно обнаружил, что при редактировании стиля IOS в BSD - не создаются новые обьекты в файле .style , при этом, при редактировании стиля Андроид - все нормально создается. 
      вав проверил ! и в Андроид перестало сохряняться в style файле! но полгода назад в 10.3 - все работала.. стиль то для андроид я именно так сделал ( примерно в феврале)
      Например:
      в BSD делаю - File - New - New Ios Style

      делаю копию обьекта Panel

      копия создается Panel_copy, в файле vsf - сохраняется, но при сохранении стиля для FMX, ( Save as .style) - обьекта в файле нет, причем как Panel, так и Panel_Copy

       
      если проделать, так же в стиле для Андроид Лайт, то обьект добавляется в конец файла..  ( Уже не делается и для Андроида)
        а здесь нет - последний icon.. и поиском не находится и если загрузить в BookStyle - то стиля Panel_Copy нет.

      про "сьезжающие"  картинке в стиле для Ios 3x - опишу подробнее позже, решение не найдено пока..
       
    • От Евгений Корепов
      Подскажите, реально ли в текущий момент сделать рекламу в iOS приложениях? 
      Документация эмбаркадеры, вроде и современная (http://docwiki.embarcadero.com/RADStudio/Rio/en/Using_the_AdMob_Service в примеру), но пометка внизу страниц "This page was last edited on 28 September 2015, at 15:17." дает понять что они забили на этот раздел документации 4 года назад, и с выходом Rio тупо скопипастили, чтоб было. Издевательство какое то (
       
      P.S. В документации идет речь о iAd, но согласно Apple:
      About the iAd App Network Shutdown : As of December 31, 2016, the iAd App Network is no longer available.
       
       
    • От Паршенко Виктор
      Доброго времени суток.
      Возникла проблема с использование TLocationSensor в Delphi 10.3 Rio под iOS. 
      Открыл, скомпилировал и установил приложение LocationDemo взятое из примеров.
      Device: iPhone 7+, version ios: 12.1.3. 
      При запуске, приложение запросило разрешение на доступ к геолокации (разумеется разрешил)
      Индикатор локации в верхнем баре показал, что его сейчас используют, но само приложение не реагирует на это никак. В частности событие OnChangeLocation не срабатывает у TLocationSensor. 
      Что делал я, чтоб попытаться устранить эту проблему:
      - скомпилировал этот же проект под Android (пример рабочий, Android отреагировал и показал мне местоположение)
      - внес изменения в системные юниты по рабочему примеру : 
      - открывал любые другие приложения, которые используют геолокацию (успешно находит и показывает мое местоположение)
      У меня закончились идеи, почему не работает TLocationSensor на iOS.
      P.S. не проверял компиляцию на версии делфи по ниже (10.2.3, 10.2 ... ). 
      Для красоты эксперимента, есть тут кто на Rio использовал геолокацию для iOS, у вас работает? 
       
  • Последние посетители   0 пользователей онлайн

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

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