Перейти к содержанию
Fire Monkey от А до Я

FeLDMARShaL

Пользователи
  • Постов

    144
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Весь контент FeLDMARShaL

  1. FeLDMARShaL

    iOS 10

    Проблема решена. Когда то давно, когда заливал самое первое приложение, я скачал ApplicateonLoader v3.0 и всю жизнь его использовал. А оказывается последняя версия этого чудо продукта идет в комплекте с XCode. На текущий момент последняя версия 3.6. Использовал ее для заливания - проблем нет, жду сабмита
  2. FeLDMARShaL

    iOS 10

    В ItunesConnect я указал VersionInfo 1.1 (до этого была 1.0). В Delphi у изменил номер версии и в *.plist у меня про версию вот такие указания: Т.е. CFBundleShortVersionString совпадает с VersionInfo на ItunesConnect, а если у меня не удастся засабмитить с первого раза то у меня стал вот такая версия: Или я что то не то?
  3. FeLDMARShaL

    iOS 10

    Шикарно. Теперь все нормально функциклирует, но при попытки через ApplicationLoader залить версию для сабмита в эпл, мне система выдала вот эту ошибку: "ERROR ITMS-90167: "No .app bundles found in the package"". Это я где-то накосячил или опять что то недокументированно поменялось в delphi? или может быть это связано с тем что я не те параметры передаю в ключах DTPlatformBuild и DTXcodeBuild ?
  4. FeLDMARShaL

    iOS 10

    Произвели глобальное обновление всех компонентов системы, и в связи с чем возникло 2 вопроса. Используем последнюю версию MacOS (Sierra 10.12), используем последнюю версию XCode (8.0-8A218a) с последними SDK (вроде их обозначение вот такое, но нашелш его в инете поэтому не уверен в правильности: 14A345). Все компилируем на последнем Delphi 10.1 Berlin Update 1. 1) В нашем приложении используется камера, но на iPhone5 c iOS10 (на других устройствах реальных нет возможности проверить работу приложения по причине их отсутвия, и это устройство пока нет возможности подключить к MacMini в режиме отладки) при попытки у камеры выставить свойство Active в true падает все приложение. Из-за чего может быть такое поведение? Может быть для нормальной работы камеры в plist надо что-то вписать? 2) Глупый вопрос, но все таки, а что надо писать в plist в свойствах DTPlatformBuild и DTXcodeBuild. Сейчас у меня написано следующее, правильно ли?
  5. FeLDMARShaL

    Конец анимации

    Когда довольно большой скроллконтент, то чтобы быстрее долистать до нужного места пользователь очень быстро проводит пальцем и отпускает. После отпускания скрол продолжает "по инерции" двигаться, и постепенно замедляясь останавливается. Как Отловить момент момент полной остановки скрол панели в этом случае?
  6. А есть возможность как нибудь реализовать жестами частичную смену картинок (речь про слайды а не про эффекты), например, опустили палец и перемещаем палец вправо, а за пальцем тянется картинка, т.е. при движении пальца вправо текущая картинка уходит вправо за экран, а следующая появляется слева, также выходит из-за экрана, и если пользователь отпустил палец то она уже сама доканца сменилась (по стандартной схеме). Т.е. надо разделить эффект когда у нас жест слева на право, от процесса когда мы просто пальцем пытаемся посмотеть что там дальше за картинкой находится.
  7. FeLDMARShaL

    Yandex API

    Вот какие разрешения запрашивает приложение: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <permission android:name="ru.agbis.MyClothes.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="ru.agbis.MyClothes.permission.C2D_MESSAGE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> Может какое то забыл добавить?
  8. FeLDMARShaL

    Yandex API

    единственные координаты которые получает, это определяет город (я так понимаю по ип адресу), но не точные геокоординаты. А надо именно геокоординаты получить. Если открыть эту эе самую страницу в хроме, то геокординаты на телефоны определяются точно, а если в веббраузере, то только город по ип определяется.
  9. FeLDMARShaL

    Yandex API

    Создал страничку, работающая на яндекс апи. Страница определяет текущие координаты пользователя. Если зайти на эту страницу из десктопного браузера (хром), то он спросит, хочу ли я дать доступ к моему местоположению, после того как я разрешу как то определяет примерное мое место положение -десктоп это проверка, правильно ли работает код в принципе. В мобильном приложении эту страницу загружаю в TWebBrowser, если запустить приложение на iOS платформе, то система спросит сначала доступ к геокоординатам для приложения, потом спросит доступ текущей геопозиции для сайта, если все разрешения дать, то яндекс карты определят положение при помощи спутников ( с точностью +/- метр), в этот моментзагорается индикатор (автоматически свидетельствующий о том что идет работа со спутниками Если же это же приложение запустить на андройде, то почему то веббраузер не может получить доступ к геокоординатам (нет ни каких вопросов, ни попыток, и ни какие индикаторы свидетельствующие что происходит работа со спутниками не загораются). Собственно вопрос, где что поправить чтобы мое местоположение точно определялось и на андройде. В манифесте добавил соответсвующие 2 разрешение (примерное местоположение используя сеть и точное местоположение используя спутники), но почему то все равно нет доступа к геоокоординатам. Есть идеи, как веб браузером при помощи яндекс карт определить текущие координаты?
  10. Это экземпляр TCriticalSection Пробовал, ситуация не изменилась Приложение завершается и я возвращаюсь в среду разработки через несколько секунд п.с. проверил этот же код на берлине, проблема вроде больше не наблюдается, вероятнее всего один из багов самой делфи. В рабочем коде испоьлзую только синхронайз, а критическая секция - просто проверял
  11. Приложение в отдельных потоках шлет http запросы. Все ответы http запроса необходимо обработать (в главном потоке). Для этого использую сразу 2 механизма синхронизации: TThread.Synchronize(nil, procedure() begin dbCS.Acquire; try //что то делаю в главном потоке finally dbCS.Release; end; end); И на андроид версии периодически, но стабильно славливаю зацикливание между потоками (на скриншоте видно). Использовал отдельно и процедуру синхронайз и критическую секцию, результат всегда один и тот же. п.с. такое поведение было замечено на Android версии приложения. У когонибудь есть идеи в какую сторону копать?
  12. так у меня и без https не работает, может он подключает телефон не к тому вайфаю DNS64/NAT64 о которой идет речь, ошибиться в коде то нельзя: str := IdHTTP1.Get('http://XXXXXXXXXXX/index2.php'); Если дейстивтельно работает, то не мог бы товарищ zairkz дать простенький проект в 10.1 для iOS 32 бит, я подставлю туда свой сертификат и проверю. Есть вероятность что он грузит данные с какого спец сайта, и проблема не на стороне устройства а на стороне сайта.
  13. Проверил, не работает (ни RTC ни Indy) если у Вас работает то значит Вы что то сделали такое что поспособствовало этому. МакОсь - элькапитан, хкод - последний 7.ХХ Мой способ единственно верный имхо, + SSL обезательная фитча
  14. Сейчас подходит время публикации очередного приложения, после его успешной публикации переведем остальные наши приложения на эти компоненты, и забудем о проблеме как страшный сон. Больше не будем использовать для мобильной разработки компоненты RTC, их саппорт культурно объяснил что исправлять он не будет торопиться эту проблему.
  15. В общем было принято решение, перейти на гарантировано рабочие компоненты, при их использовании пришлось подключать библиотеку для параллельного программирования, но теперь наши потребности они полностью удовлетворяют, хоть гораздо менее удобные чем купленные RTC компоненты. Пример как мы будем работать с новыми компонентами (авторизация на нашем ресурсе): procedure TForm2.Button1Click(Sender: TObject); var psw: String; begin psw := '123'; TTask.Run(procedure var NetHTTPClient: TNetHTTPClient; AContentStream: TStringStream; ContentStream: String; sha1: String; IdHashSHA1: TIdHashSHA1; aURL: String; begin try NetHTTPClient := TNetHTTPClient.Create(nil); try AContentStream := TStringStream.Create; try IdHashSHA1 := TIdHashSHA1.Create; try sha1 := LowerCase(IdHashSHA1.HashBytesAsHex(TidBytes(Bytesof(psw)))); NetHTTPClient.Accept := 'text/html, application/xhtml+xml, */*'; NetHTTPClient.ContentType := 'application/x-www-form-urlencoded'; NetHTTPClient.AcceptEncoding := 'UTF-8'; aURL := 'json=yes&' + 'CompanyID=40&' + 'ModernLogin=' + URL_Encode('{"phone":"XXXXXXXXXX","pwd":"'+sha1+'"}'); NetHTTPClient.Execute('GET', 'XXXXXXXXX/index.php?'+aURL, nil, AContentStream); //ДОБАВИТЬ все потенциально возможные ошибки связанные с сетью //ДОБАВИТЬ общий счетчик кол-во незавершенных потоков для операция начала и конец ожидания загрузки данных по сети AContentStream.Position := 0; ContentStream := AContentStream.DataString; TThread.Synchronize(nil, procedure() begin //ДОБАВИТЬ обработчик возможных ошибок в ответе Form2.WorkWithAnswer(ContentStream); end ); finally FreeAndNil(IdHashSHA1); end; finally FreeAndNil(AContentStream); end; finally FreeAndNil(NetHTTPClient); end; except on E: Exception do begin //ДОБАВИТЬ обработку ошибка в главном потоке end; end; end ); end;
  16. полное описание отказа в первом моем посте, с того момента мы больше не публиковались, т.к. стабильно у себя воспроизвели проблему (нет доступа к инету карл!)
  17. Нужна публикация, занимаюсь проблемой в плотную. Как оказалось то же самое прилоежние на андройде, который подключен к той же маковской сети NAT64/DNS64 без проблем выходит в инет. Получается запара именно в iOS девайсах. У кого нибудь за это время появились какие нибудь идеи? Переход на новый берлин не исправил проблему. Есть люди которые смогли опубликовать приложение которое работает с сетью, может кто поделится опытом?
  18. FeLDMARShaL

    Delphi 10.1 + iOS 7

    Возможно тема пересекается с Но в моем случае ни обновления XCode ни MacOS не было, т.к. всегда использую последние версии от Apple, п.с. если тот же самый проект компилить на Delphi10 то все нормально запускается.
  19. FeLDMARShaL

    Delphi 10.1 + iOS 7

    Наконец то дошли руки до Берлина. И сразу столкнулся с проблемой, а именно, товарищи из Embarcadero убрали поддержку старых устройств? Я для отладки исполmзую iPhone4, там стоит последняя доступная для такого девайса операционка iOS7. Создаю проект, запускаю на моем устройстве, а при попытки лаунча среда дала сообщение, мол не подходит миниммальная версия операционки. Тут я захожу в генерируемый plist и вижу, действительно, минимальная версия указана 8.0. Ну думаю, ОК, ставлю вручную версию 7.0, задеплоил свой собственный плист, делаю сборку, запуска. Приложение запускается но сразу рушится, т.е. мой фокус с явным указанием того какая ОС является минимальная не прошел. Почитал список нововедений в Берлине и не нашел упоминания, что они отключили поддержку iPhone4. Ее теперь нет и не как не подключить, или надо какие то танцы с бубном провести что бы она появилась?
  20. Вам не нужен роутер. Делфи уже давно нормально работает в сети IPv6, Вам для публикации надо настроить NAT64/DNS64. Как настроить трансляцию такую рассказано в пункте Test for IPv6 DNS64/NAT64 Compatibility Regularly в той ссылке которую я дал в первом сообении в качестве ответа от эпла. Собственно при включенной такой трансляци инет пропадает на делфи под макосью.
  21. Ярослав, к сожалению в эту тему запихали 2 проблемы, одна (которая от меня) - приложение не работает с IPv6 сетью, вторая (от других участников форума) - приложение падает в момент запуска при релизе. Лично меня интересует та которая от меня, т.к. проблем с запуском и падением у меня не наблюдается, мне они присылали скриншот, где при запуске программы выведено сообщения о том что нет подключения к инету, хотя такое есть (я обрабатываю исключительную ситуацию когда нет связи). А поскольку для работы моего приложения требуется инет, я физически ограничиваю дальнейшую его работу до тех пор пока инет не появится. Может имеет смысл разнести 2 проблемы по разным темам чтобы не люди не путались?
  22. Ну так проблема описанная https://quality.embarcadero.com/browse/RSP-12744 не про этот случай А вообще это хорошо (что не у одного меня такое), если проблема имеет массовый характер, есть шанс что ее могут решить. А вообще сегодня вечером уже буду пробовать поставить Berlin (ну а друг)
  23. Да, у меня обычный Seatle. С завтрашнего дня будем думать об обновление до Berlin (а вдруг там пофиксили нашу проблему). Но мне кажется что не поможет, проблема то не в plist, а в том что не работает NAT64/DNS64 В том баг фиксе что Вы указали: У нас оно запускается, все работает а вот доступа к инету нет. Проблема актуальна.
  24. Провел 2 теста с разными строками запроса, по имени и по адресу. 2 разных компонентах, во всех строчках менялас только строка запроса, результат закомментировал: var IdHttp: TIdHTTP; ResponseContent: String; AResponseContent: TStringStream; begin IdHttp := TIdHTTP.Create(nil); try try AResponseContent := TStringStream.Create; try IdHttp.Request.ContentType := 'application/x-www-form-urlencoded'; try //IdHttp.Get('http://185.17.120.131:10020', AResponseContent); Windows OK //IdHttp.Get('http://ya.ru', AResponseContent); Windows ERROR HTTP/1.1 302 Found //IdHttp.Get('http://ya.ru', AResponseContent); iOS ERROR "Socket Error Connection timed out" //IdHttp.Get('http://185.17.120.131:10020', AResponseContent); iOS ERROR "Socket Error Connection timed out" IdHttp.Get('http://185.17.120.131:10020', AResponseContent); except on E: Exception do ShowMessage(E.Message); //Socket Error # 60'#015#012'Connection timed out end; AResponseContent.Position := 0; ResponseContent := AResponseContent.DataString; ShowMessage(ResponseContent); finally FreeAndNil(AResponseContent); end; finally FreeAndNil(AData); end; finally FreeAndNil(IdHttp); end; try NetHTTPClient1.Accept := 'text/html, application/xhtml+xml, */*'; NetHTTPClient1.ContentType := 'application/x-www-form-urlencoded'; NetHTTPClient1.AcceptEncoding := 'UTF-8'; //ResponseContent := NetHTTPClient1.Get('http://185.17.120.131:10020').ContentAsString(tencoding.UTF8); Windows OK //ResponseContent := NetHTTPClient1.Get('http://ya.ru').ContentAsString(tencoding.UTF8); Windows OK //ResponseContent := NetHTTPClient1.Get('http://ya.ru').ContentAsString(tencoding.UTF8); iOS OK //ResponseContent := NetHTTPClient1.Get('http://185.17.120.131:10020').ContentAsString(tencoding.UTF8); iOS ERROR "Error - 1001 accessing to http://185.17.120.131:10020: Превышен лимит времени на запрос" ResponseContent := NetHTTPClient1.Get('http://185.17.120.131:10020').ContentAsString(tencoding.UTF8); except on E: Exception do ShowMessage(E.Message); end; ShowMessage(ResponseContent); end; Эта строчка означает что на винде отработало без ошибок в мы получали результат запроса Эта строчка означает что на iOS произошла ошибка с текстом в кавычках Обрадовало следующее, значит наверно не все потеряно: Т.е если программу построит таким образом возможно ошибок не будет, хотя не факт что это мне поможет, в моей программе POST запросы на php скрипты с передачей параметров в них. Есть идеи как вылечить проблему? Может есть еще какиенибуть компоненты (кросплатформенные разумеется), п.с. проверить пока на Android пока нет возможности, но главное чтобы и на Андройде вариант сработал правильно.
  25. Проверено эмпирическим путем, при DNS64/NAT64 компонент штатный TWebBrowser работает в обычном режиме, на работают только Indy и RTC. В IPv6 only вроде все нормально, проблема именно с DNS64/NAT64.
×
×
  • Создать...