Приложение для iPhone без App Store?
Вопрос
Если я создам приложение на своем Mac, есть ли какой-нибудь способ запустить его на iPhone, не заходя в App Store?
Не имеет значения, должен ли iPhone быть взломан джейлбрейком, главное, чтобы я все еще мог запускать приложение, созданное с использованием официального SDK.По причинам, в которые я не буду вдаваться, я не могу разместить эту программу в App Store.
Решение
Официальная программа разработчика
Для стандартного iPhone вам нужно будет заплатить 99 долларов США в год, чтобы стать участником программы для разработчиков. Затем вы можете использовать систему adhoc для установки приложения на 100 устройств. У программы разработчика есть детали, но она включает добавление UUID для каждого из устройств в ваш пакет приложений. UUID могут быть легко найдены с помощью Ad Hoc Helper доступны в App Store. Подробнее об этом методе см. В бета-тестировании на iPhone Крэйга Хокенберри 2.0 статья
Взломанный iPhone
Для взломанных iPhone вы можете использовать следующий метод, который я лично протестировал, используя образец приложения AccelerometerGraph на iPhone OS 3.0.
Создать самоподписанный сертификат
Сначала вам нужно создать самозаверяющий сертификат и установить патч для своего iPhone SDK, чтобы разрешить использование этого сертификата.
<Ол>Запустите связку ключей Access.app. Если элементы не выбраны, в меню «Связка ключей» выберите «Ассистент сертификатов», затем «Создать сертификат».
Имя: разработчик iPhone
Тип сертификата: Кодовая подпись
Позвольте мне изменить значения по умолчанию: Да
Нажмите Продолжить
Срок действия: 3650 дней
Нажмите Продолжить
Очистите поле адреса электронной почты.
Нажмите Продолжить до завершения.
Вы должны увидеть " Этот корневой сертификат не является доверенным " ;. Это ожидается.
Установите в iPhone SDK разрешение на использование самозаверяющего сертификата.
sudo / usr / bin / sed -i .bak 's / XCiPhoneOSCodeSignContext / XCCodeSignContext /' /Developer/Platforms/iPhoneOS.platform/Info.plist
Если у вас открыт Xcode, перезапустите его, чтобы изменения вступили в силу.
Развертывание вручную через WiFi
Следующие шаги требуют, чтобы openssh
и uikittools
были установлены в первую очередь. Замените jasoniphone.local
именем хоста целевого устройства. После установки SSH обязательно установите свой собственный пароль для пользователей mobile
и root
.
Чтобы вручную скомпилировать и установить приложение на телефон как системное приложение (в обход системы установки Apple):
<Ол>Проект, Установить активный SDK, Устройство и Установить конфигурацию активной сборки, Выпуск.
Скомпилируйте свой проект обычным образом (используя Build, а не Build & amp; Go).
В каталоге build / Release-iphoneos
у вас будет комплект приложений. Используйте предпочитаемый метод для передачи этого в / Applications на устройстве.
scp -r AccelerometerGraph.app root @ jasoniphone: / Applications /
Сообщите SpringBoard, что новое приложение установлено:
ssh mobile@jasoniphone.local uicache
Это нужно делать только при добавлении или удалении приложений. Обновленные приложения просто необходимо перезапустить.
Чтобы упростить себе жизнь во время разработки, вы можете настроить аутентификацию по ключу SSH и добавить эти дополнительные этапы в качестве пользовательского этапа сборки в своем проекте.
Обратите внимание, что если вы хотите удалить приложение позже, вы не можете сделать это через стандартный интерфейс SpringBoard, и вам нужно будет использовать SSH и обновить SpringBoard:
ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache
Другие советы
Да, после того, как вы присоединились к Программе разработчиков iPhone и заплатили Apple $ 99, вы можете предоставлять свои приложения на 100 устройствах iOS.
- Создайте свое приложение
- Загрузка на взломанный сайт
- (Если ваше приложение достаточно хорошее) версия crack будет опубликована через несколько минут и готова для скачивания всеми ;-)
С помощью этого сообщения я создал скрипт, который будет устанавливаться через приложение Installous для быстрого развертывания:
# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist
cd $CONFIGURATION_BUILD_DIR
# zip up the HelloWorld directory
/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist
Чего не хватает в посте, указанном выше, так это iTunesMetadata. Без этого Installous не будет правильно устанавливать приложения. Вот пример iTunesMetadata:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>appleId</key>
<string></string>
<key>artistId</key>
<integer>0</integer>
<key>artistName</key>
<string>MYCOMPANY</string>
<key>buy-only</key>
<true/>
<key>buyParams</key>
<string></string>
<key>copyright</key>
<string></string>
<key>drmVersionNumber</key>
<integer>0</integer>
<key>fileExtension</key>
<string>.app</string>
<key>genre</key>
<string></string>
<key>genreId</key>
<integer>0</integer>
<key>itemId</key>
<integer>0</integer>
<key>itemName</key>
<string>MYAPP</string>
<key>kind</key>
<string>software</string>
<key>playlistArtistName</key>
<string>MYCOMPANY</string>
<key>playlistName</key>
<string>MYAPP</string>
<key>price</key>
<integer>0</integer>
<key>priceDisplay</key>
<string>nil</string>
<key>rating</key>
<dict>
<key>content</key>
<string></string>
<key>label</key>
<string>4+</string>
<key>rank</key>
<integer>100</integer>
<key>system</key>
<string>itunes-games</string>
</dict>
<key>releaseDate</key>
<string>Sunday, December 12, 2010</string>
<key>s</key>
<integer>143441</integer>
<key>softwareIcon57x57URL</key>
<string></string>
<key>softwareIconNeedsShine</key>
<false/>
<key>softwareSupportedDeviceIds</key>
<array>
<integer>1</integer>
</array>
<key>softwareVersionBundleId</key>
<string>com.mycompany.myapp</string>
<key>softwareVersionExternalIdentifier</key>
<integer>0</integer>
<key>softwareVersionExternalIdentifiers</key>
<array>
<integer>1466803</integer>
<integer>1529132</integer>
<integer>1602608</integer>
<integer>1651681</integer>
<integer>1750461</integer>
<integer>1930253</integer>
<integer>1961532</integer>
<integer>1973932</integer>
<integer>2026202</integer>
<integer>2526384</integer>
<integer>2641622</integer>
<integer>2703653</integer>
</array>
<key>vendorId</key>
<integer>0</integer>
<key>versionRestrictions</key>
<integer>0</integer>
</dict>
</plist>
Очевидно, замените все экземпляры MyApp именем вашего приложения, а MyCompany - названием вашей компании.
По сути, он будет установлен на любое взломанное устройство с установленным Installous. После его настройки это приводит к очень быстрому развертыванию, так как его можно установить из любого места, просто загрузите его на веб-сайт своей компании, загрузите файл прямо на устройство и скопируйте / переместите в ~ / Documents / Installous / Downloads код>.
С выходом Xcode 7 теперь можно устанавливать приложения на свои устройства без лицензии разработчика Apple, так что теперь можно пропустить в App Store вам не придется делать джейлбрейк вашего устройства.
Теперь каждый может получить это приложение на своем устройстве Apple.
Xcode 7 и Swift теперь упрощают для всех создание приложений и их запуск непосредственно на своих устройствах Apple.Просто войдите в систему с помощью своего Apple ID и превратите свою идею в приложение, которое вы сможете использовать на своем iPad, iPhone или Apple Watch.Скачайте бета-версию Xcode 7 и попробуйте сами уже сегодня.Членство в программе не требуется.
Цитируется из: https://developer.apple.com/xcode/
Обновить:
Теперь выпущен XCode 7:
Бесплатная разработка на устройстве Теперь каждый может запустить и протестировать свое собственное приложение на устройстве — бесплатно.Вы можете запускать и отлаживать свои собственные творения на Мак, iPhone, iPad и iPod touch, или Apple наблюдать без каких-либо сборов, и нет программы чтобы присоединиться.Все, что вам нужно сделать, это ввести свой бесплатный Apple ID в Xcode.Вы даже можете использовать тот же Apple ID, который вы уже используете для App Store или iTunes.После того, как вы усовершенствуете свое приложение, программа Apple Developer поможет вам приобрести его в App Store.
Видишь Запуск Вашего приложения на устройствах для получения подробной информации об установке и запуске на устройствах.
Стоит отметить, что если вы пойдете по пути джейлбрейка, возможно (вероятно?) что обновление iPhone OS лишит вас возможности запускать эти приложения.Я бы пошел официальным путем и заплатил 99 долларов, чтобы получить разрешение.В дополнение к тому, что вам не нужно беспокоиться о том, что ваши приложения будут заблокированы, вы также получаете возможность (если захотите) выпускать свои приложения в магазине.
После копирования приложения на iPhone способом, описанным @Jason Wegetarian, убедитесь, что " chmod + x " приложения, иначе оно не запустится.
* Изменения / примечания, чтобы это работало для Xcode 3.2.1 и iPhone SDK 3.1.2
Развертывание вручную через WiFi
2) Обязательно перезапустите Xcode после изменения Info.plist
3) "uicache" Команда не найдена, с помощью killall -HUP SpringBoard работал нормально для меня.
Кроме того, я могу подтвердить, что это прекрасно работает.
Пользователи Mac, использующие PwnageTool 3.1.4, отлично работали для Jailbreaking (DL через торрент).
Если вы исправите /Developer/Platforms/iPhoneOS.platform/Info.plist
, а затем попытаетесь отладить приложение, запущенное на устройстве, с использованием реального профиля обеспечения разработки от Apple, оно, вероятно, не будет работать. Симптомами являются странные сообщения об ошибках от com.apple.debugserver
и то, что вы можете использовать любой идентификатор пакета без получения ошибки при сборке в Xcode. Решение состоит в том, чтобы восстановить Info.plist
.
Вы можете использовать AppBox (Приложение), Приложение для Mac, которое использует вашу учетную запись Dropbox для распространения специальных и корпоративных приложений, если вы хотите установить их из любого другого браузера.
https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases
Опции
Архивируйте и загружайте IPA
- Просто выберите Проект / Рабочее пространство, чтобы Архив -> сделайте ipa -> загрузить ipa -> отправлять почту -> и выключение mac
Загружайте Только IPA
- Просто выберите IPA-файл, чтобы загрузить ipa -> отправлять почту -> и выключение mac
Особенность
- Сохраняйте ту же ссылку
- Эта функция сохранит один и тот же короткий URL-адрес для всех будущих ipa, загруженных с одним и тем же идентификатором пакета.
- Если эта опция включена, вы также можете загрузить предыдущую сборку по тому же URL.
- Автоматическая отправка электронной почты Ссылка на распространение приложения
- Автоматическое Выключение Mac после Распределения
- Максимальный размер загрузки => Равно объему хранилища вашей учетной записи Dropbox
- Срок действия загруженного приложения Истек => До тех пор, пока вы не удалите его из своего Dropbox
- Установки для каждого приложения => Неограниченно
Информационная панель
*
*
Будет доступно в будущей версии
AppBox против Diawi
Скриншот
Загрузить IPA
Архивируйте и загружайте IPA
Загрузка IPA