iPhone не дозволяє встановлювати ipa безпосередньо, тому надавати пряме посилання на файл ipa марно. Ось чому деякі люди використовують зовнішні сервіси, які надають посилання або qcode для встановлення ipa.
Інший варіант, про який ніхто не розповів в інших відповідях на це запитання і про те, що він повністю незалежний від iTunes або будь-якої зовнішньої служби, - це створити власний скрипт, який створює посилання на встановлення і автоматично надсилає його на ваш мобільний (наприклад, електронною поштою). Я створив такий сценарій для особистого використання, що:
- створює файл html;
- створює файл plist;
- копіює файли ipa, html та plist на мій сервер;
- надсилає мені посилання.
Оскільки я працюю над Linux, я створив сценарій Bash. Ви можете використовувати будь-яку іншу мову сценаріїв, але важливо знати, що потрібно розмістити у файлах html та plist.
Це частина мого сценарію, яка генерує вміст html та plist. Я сподіваюся, що це достатньо зрозуміло:
sha=`sha1sum ${ipa} | awk '{ print $1 }'`
output=${sha}-${AppName}-${version}.ipa
html=${sha}-${AppName}-${version}.html
plist=${sha}-${AppName}-${version}.plist
# Generates html
echo "<!DOCTYPE html>
<html>
<head>
<meta charset=\"UTF-8\">
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">
<meta name=\"MobileOptimized\" content=\"width\" />
<meta name=\"HandheldFriendly\" content=\"true\" />
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />
<meta http-equiv=\"cleartype\" content=\"on\" />
<title>Install ${AppName} ${version}</title>
</head>
<body>
<h1><a href=\"itms-services://?action=download-manifest&url=${serverUrl}${plist}\">
Install </a></h1>
</body>
</html>" > ${html}
# Generate plist
echo "<?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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>${serverUrl}${output}</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>${serverUrl}Icon%402x.png</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>${serverUrl}Icon.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>${bundle}</string>
<key>bundle-version</key>
<string>${version}</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>${AppName}</string>
</dict>
</dict>
</array>
</dict>
</plist>" > ${plist}
Для простого прикладу ви також можете побачити: https://github.com/Saleh7/ipa-install