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

rakhmet

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

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

  • Посещение

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

    2

Сообщения, опубликованные rakhmet

  1. Есть мобильное приложение (именно приложение, а не мобильная игра), которым лично ты пользуешься чаще прочих, и которое ты считаешь эталоном в своём роде? Не так важно, для каких платформ, платно или бесплатно, на каких языках локализации/программирования, и с помощью каких инструментов/компонентов оно реализовано, просто оставь ссылку на него в данной теме.

    Правила публикации предельно просты: одно сообщение - одно приложение. Количество сообщений не ограничено. Тематика, направление, целевая аудитория - всё это значения не имеет. Если ты уверен, что используемое тобой приложение с очень красивым интерфейсом и/или с крайне необходимым функционалом - не стесняйся и смело публикуй.

     

    ВНИМАНИЕ: убедительная просьба обойтись без рекламы своих собственных приложений (для этого открыт отдельный раздел), а также без скриншотов/видео (их любой посетитель темы увидит в мобильном магазине по твоей же ссылке).

     

    Пример для оформления сообщения:

    Цитата


     

     

     

  2. В 31.12.2016 в 15:06, Евгений Корепов сказал:

    Пока отложил, Новый год на носу :-) После празднования посмотрю ролик по ссылке выше и попробую еще раз. Приложение будет "Актированный день Ухта", под андроид уже опубликовано, вот как раз хотел под винду потестить.

    Чем в итоге всё закончилось?

  3. 1 час назад, Равиль Зарипов (ZuBy) сказал:

    для AppStore нужна 64 bit версия (с включенной опцией Universal binary file)

    у меня стоит sdk 10, работает на IOS 9.3.5 и выше, ниже не проверял

    Согласен. Добавлю только, что суммарно у 10.x и 9.x охват в 94% - думаю, версии ниже перечисленных проверять уже просто бессмысленно.

  4. Продублирую, может, найдётся подходящий совет:

    Цитата

    Дано: n (от 10 до бесконечности) рабочих станций под управлением MacOS. Работают автономно, интернета в ЛВС нет. На всех р/с установлена самописная программа. Есть также локальный FTP. Задача: обновлять программу с локального FTP. В окружении с Windows это решается элементарно: на FTP по мере публикации обновления выкладываются *.ini и *.exe, и каждый клиент при запуске автоматически проверяет наличие доступного обновления. Есть - значит, скачиваем и обновляем открытый *.exe с заменой, закрываем открытую старую копию, удаляем её и запускаем новую. На всё про всё - несколько секунд даже на стареньком Celeron 1.7GHz. При запуске опять проверяем обновление (но, естественно, в упор не видим его, потому что только что были обновлены), и продолжаем работать. Но что делать в окружении с MacOS? Приложение - вроде как и не исполняемый файл вовсе, а обычный каталог. Ок, можно его за-ZIP-овать, скачать и распаковать. А дальше как быть? Паковать и скачивать в *.dmg? А как его распаковывать в автоматическом режиме? В идеале хочется, чтобы пользователь при наличии обновления для MacOS-приложения вообще ничего не делал: приложение при запуске проверило наличие обновления, скачало его с локального FTP (если оно доступно) и само себя обновило, после процесса обновления удалив бесследно старую копию, и автоматически запустив новую.

    В версии на Windows у меня сейчас именно так и реализовано: пользователь при старте приложения видит прогресс-бар загрузки обновления (если оно доступно, конечно), через несколько секунд прогресс-бар загрузки закрывается, и открывается уже обновлённое приложение. И никаких манипуляций со стороны пользователя: так и ему спокойнее, и (что самое главное) мне самому. При этом ни байта не уходит наружу, и не приходит извне ЛВС. Всё происходит внутри периметра, где расположен сервер FTP. Теперь хочется этот же опыт перенести на MacOS. Всё-таки не во всех компаниях на р/с с MacOS есть учётные записи, да и интернет далеко не всем подключен (для доступа к тому же магазину приложений), а если даже и подключен, то всё строго лимитировано.

     

  5. И у Workstation был, насколько я помню, отдельный прикол, связанный с фокусом окна с открытой гостевой: если окошко в фокусе, то подключаемое к хосту устройство уходит к гостевой, если же окошко не в фокусе - устройство остаётся у хоста. Не знаю, возможно, сейчас уже пофиксили, но до версии 8.x было так. Баг этот или фича - без понятия.

  6. На мой (сугубо личный) взгляд, не помешало бы следующее:

    а) Выбор типа соединения (http/ftp) с поддержкой SSL.

    б) Возможность видеть текущую (используемую в настоящий момент) версию и ту, что доступна в обновлении.

    в) Доступный по нажатию на кнопку/ссылку какой-нибудь changelog/history - чтобы видеть, что конкретно несёт в себе обновление.

     

     

    Репозиторий пока не смотрел, но есть пара вопросов:

    1. Обновление будет с полной заменой обновляемой файла, или же будет поддержка патчей (на тот случай, когда можно обойтись патчем на 0,5 мегабайта, чтобы не тянуть 50 мегабайт обновлённого файла)?

    2. Не понял, каким образом будет реализовано обновление для FMX - в обход мобильных магазинов?

  7. Вопрос: как определить, какое именно действие совершает пользователь - увеличивает или уменьшает?

    zoomgesture.jpg

     

     

    Ответ: на примере сэмпла, поставляемого в комплекте с Delphi, в файле C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Mobile Snippets\InteractiveGestures\ImageZoom\ImageZoomU.pas можно попробовать заменить одну часть процедуры:

          begin
            { zoom the image }
            LImage := TImage(LObj.GetObject);
            LImageCenter := LImage.Position.Point + PointF(LImage.Width / 2,
              LImage.Height / 2);
            LImage.Width := LImage.Width + (EventInfo.Distance - FLastDistance);
            LImage.Height := LImage.Height + (EventInfo.Distance - FLastDistance);
            LImage.Position.X := LImageCenter.X - LImage.Width / 2;
            LImage.Position.Y := LImageCenter.Y - LImage.Height / 2;
          end;

    на другую:

          begin
            { zoom the image }
            if EventInfo.Distance > FLastDistance then
            showmessage('zoom in') else showmessage('zoom out');
          end;

     

    Что с этим делать дальше — думаю, объяснять излишне.

     

     

    Если кто знает более элегантное решение, не основанное на вычислении дистанции, — смело делитесь, не стесняйтесь.

  8. На чистой форме лежит ListView1, все настройки проекта, формы и компонента - по умолчанию.

     

    В коде только это:

    procedure TForm1.FormShow(Sender: TObject);
    var
      i: integer;
    begin
      for i := 0 to 25 do
      begin
        with ListView1.Items.Add do
          Text := IntToStr(i);
      end;
    end;

     

    Запуск как на Android, так и на iOS (и в Platform-режиме, и в Styled-режиме с разными стилями) - не помогает.

    font settings.png

  9. TListView, как внезапно выяснилось, напрочь игнорирует системный размер шрифта и в iOS, и в Android. Есть решение, как его можно заставить соответствовать системным настройкам, или же никто не грузит себя этой ерундой?

    Наверняка и многие другие компоненты не утруждают себя соответствием системным настройкам, но меня пока интересует только TListView.

  10. Зачитался сейчас о способах взлома - голова кругом :wacko:

     

    Прошу уточнить детали из того, что я понял в прочитанном: если мобильное приложение (и Android, и iOS) взламывается - его для дальнейшего распространения в любом случае обязательно требуется переподписать. Скажем, моего (оригинального - авторского) сертификата у атакующего, понятное дело, быть не может, поэтому ему придётся использовать свой собственный (купленный или созданный на коленке). Всё верно?

    Если всё верно - могу ли я, автор, по ходу работы своего мобильного приложения проверить, валидный ли сертификат используется?

  11. Просто ещё не видел ни одного сообщения о том, что FMX-приложения устойчивы ко взлому. Вокруг все только и твердят, что "от взлома защищаться бессмысленно", и всё в таком же духе.

    Л - логика :)

     

     

    А если серьёзно - FMX-приложение чем-то хуже/лучше, чем приложение, скомпилированное в той же Java? Кроме размера и скорости работы. Меня сейчас интересует исключительно пассивная стойкость ко взлому.

  12. 2 минуты назад, Равиль Зарипов (ZuBy) сказал:

    для таких целей есть одна удобная фишка, наверное часто видели запрос пин-кода при открытии приложения

    • авторизация/регистрация на сервере
    • сохраняется пароль на устройстве и шифруруете (не нужно его никуда выводить)
    • задаете 4-х значный пин-код (пин-код храните локально)
    • все последующие открытия приложения будут запрашивать пин-код, если он валиден, то считываете пароль и проходите авторизацию

    А каким образом защищается часть, отвечающая за последние 3 пункта? Если FMX-приложения действительно легко взламываются - что теоретически может помешать закомментировать их атакующему, и просто миновать их при открытии?

  13. У меня немного иная задача и условия в целом. В мобильном приложении нужно сохранить пароль. В открытом виде его держать никто не собирается, естественно, но после расшифровки он будет передан компоненту в string-значении - это всё, моментальный конец?

     

    И вообще, файлы мобильных приложений - они как, вскрываются сначала как архивы, а потом как текстовые файлы, включая исходники? Или всё же разобрать побайтово скомпилированное приложение пока ещё нереально?

  14. На одном популярном форуме, как известно, как-то исторически прижились целые варез-зеркала App Store и Google Play (нужно во всём искать позитив: ломают - значит любят :D), и в связи с этим возникают закономерные вопросы:

    1. Как вы защищаете свои FMX-приложения (нюансы, тонкости, характерные особенности и приёмы)?
    2. Когда (т.е. как скоро после первого релиза) вы обнаружили "вылеченную" копию своего приложения?
    3. Пытались ли вы изменить степень/уровень защиты вашего приложения после того, как узнали о его успешном взломе?
    4. Изменила ли что-нибудь такая "популярность" вашего FMX-приложения (количество покупок, загрузок, платежей)?
  15. Да, похоже, фикс всё-таки помог, спасибо!!!

     

    Для полного счастья осталось лишь плюнуть в глаз тому, кто работает в Эмбе и рассылает мне спам вместо полезной инфы, и эту тему можно будет пометить закрытой <_<

  16. 37 минут назад, Vitaldj сказал:

    Вот тебе доказательство мое:

    1) Версия телефона:

    1.png

    Внизу в инсталлированых приложениях: SimpleListView 

    2) Вот вид из Delphi:

    2.png

    3) Вот скрин с самого телефона:

    IMG_5368.PNG

    Мне не нужно никаких доказательств, спасибо, мы же не в детском саду. Я верю на слово. И верю также в то, что я мог столкнуться с очередным полтергейстом. Мне лишь надо понять, как с ним разобраться. У меня были ситуации, когда на идентичном железе идентичный софт с идентичными настройками вёл себя абсолютно по-разному, поэтому я даже не сомневаюсь, что у тебя всё работает отлично. Нужно теперь просто разобраться, почему у меня глючит. Но за информацию - благодарю, хотя бы будет с чем сравнивать по ходу действий.

     

    Сейчас разберусь с фиксом, на который выше дали ссылку, попутно сменю привязку в Apple ID, и ребутну после всего всё своё хозяйство. Возможно, поможет.

  17. 36 минут назад, AliZairov сказал:

    Привет. Hotfix PAServer XCode 8.2 30680

    Вот ведь п**********ы в этой Эмбе, уж простите меня великодушно за мой французский...

    Когда скидки в целых 1-2% у партнёрских софт-дилеров - 10 писем шлют, чуть ли не с координатами входа в магазин, лишь бы я пришёл.

    Когда книги выходят не по теме - то же самое.

    Когда семинары бестолковые в других странах проводят - по 30 писем шлют и настоятельно приглашают посетить, хотя прекрасно видят, откуда и где я.

     

    Но вот когда выходит очередной фикс - молчок, с**а...

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