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

[iOS] Как программно определить, что планшет джейлбрейкнутый?


estra

Вопрос

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

  • 0
  • Администраторы

Можно проверить двумя способами:

  1. Проверить доступность системной командной оболочки Bash
  2. Проверить наличие установленного приложения Cydia.
uses
  System.SysUtils, iOSapi.Foundation, MacApi.Helpers;

function SharedFileManager: NSFileManager;
begin
  Result := TNSFileManager.Wrap(TNSFileManager.OCClass.defaultManager);
end;

function IsBashAccessible: Boolean;
var
  FileBashHandle: THandle;
begin
  FileBashHandle := FileOpen('/bin/bash', fmOpenRead);
  try
    Result := FileBashHandle <> INVALID_HANDLE_VALUE;
  finally
    FileClose(FileBashHandle);
  end;
end;

function IsCydiaInstalled: Boolean;
begin
  Result := SharedFileManager.fileExistsAtPath(StrToNSStr('/Applications/Cydia.app'));
end;

function IsJailbroken: Boolean;
begin
{$IF Defined(IOS) AND Defined(CPU386) }
  Result := False;
{$ELSE}
  Result := IsBashAccessible or IsCydiaInstalled;
{$ENDIF}
end;
Ссылка на комментарий

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

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

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

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

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