Беспроводное распространение приложения iPhone - как обезопасить файл.ipa?

У меня есть корпоративная учетная запись, и я распространяю частное приложение, поэтому у меня есть веб-страница, требующая логин / пароль, а затем ссылка на файл манифеста.plist, который также имеет ссылку на файл.ipa, Проблема в том, что оба файла находятся на одном сервере, и этот сервер требует входа в систему.

Вот почему всякий раз, когда я нажимаю на ссылку, хотя я уже вошел в систему, я получаю всплывающее окно "невозможно подключиться". Я хотя учетные данные были переданы, так как я уже вошел в систему, но, очевидно, это не так.

Как я могу обеспечить загрузку файла.ipa, не требуя пароля (или пароль может быть каким-либо образом предоставлен пользователем), без возможности создания собственного файла манифеста и предоставления ссылки на мой файл.ipa?.

Я пытался найти в Интернете решение для этого, но ничего не нашел.

Любая помощь будет оценена.

Спасибо.

2 ответа

Решение

Вы можете создать свою собственную систему входа в систему, используя php и mysql.

Поместите файл ipa в папку, прежде чем public_html или же htdocs или же www_root или что вы используете в качестве корня вашего сайта. Таким образом, люди не могут ссылаться на него.

Затем используйте такой код:

$file = '/absolute/path/to/application.ipa';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}

Это заставит загрузку. Если пользователь не вошел в вашу сессию, вы можете отправить сообщение об ошибке или подобное.

Вы смотрели на TestFlight https://testflightapp.com/ или HockeyApp http://www.hockeyapp.net/?

Только для iOS я бы порекомендовал TestFlight, но если вы распространяете и приложения для Android, то HockeyApp может быть лучше. (TestFlight на данный момент не поддерживает Android)

Другие вопросы по тегам