У нас есть решение для этого - по существу, вам нужно «установить» файл .mobileprovision, скопировав его в каталог с именем UUID мобильного файла обеспечения. Это то, что фактически делает Xcode Organizer при двойном щелчке файла .mobileprovision.
Есть небольшая программа под названием mpParse, которая может извлечь UUID из файла mobileprovision, который использует сценарий, - ссылку для загрузки в коде. Тогда было бы просто скопировать файл mobileprovision в нужное место.
Вот сценарий оболочки я сделал, чтобы сделать это:
#!/bin/sh
# 2012 - Ben Clayton (benvium). Calvium Ltd
# Found at https://gist.github.com/2568707
#
# This script installs a .mobileprovision file without using Xcode. Unlike Xcode, it'll
# work over SSH.
#
# Requires Mac OS X (I'm using 10.7 and Xcode 4.3.2)
#
# IMPORTANT NOTE: You need to download and install the mpParse executable from http://idevblog.info/mobileprovision-files-structure-and-reading
# and place it in the same folder as this script for this to work.
#
# Usage installMobileProvisionFile.sh path/to/foobar.mobileprovision
if [ ! $# == 1 ]; then
echo "Usage: $0 (path/to/mobileprovision)"
exit
fi
mp=$1
uuid=`/usr/libexec/PlistBuddy -c 'Print UUID' /dev/stdin <<< $(security cms -D -i ${mp})`
echo "Found UUID $uuid"
output="~/Library/MobileDevice/Provisioning Profiles/$uuid.mobileprovision"
echo "copying to $output.."
cp "${mp}" "$output"
echo "done"
Вы можете скачать скрипт прямо из https://gist.github.com/2568707
После того, как вы запустите скрипт, вы можете использовать PROVISIONING_PROFILE и PROVISIONING_PROFILE [SDK = iphoneos *] в xcodebuild для создания вашего приложения. Мы используем это в производстве.
Edit: Просто для справки, я по существу задал этот вопрос здесь некоторое время назад (Can an Xcode .mobileprovision file be 'installed' from the command line?) и придумал выше когда никто не знал :-)
Update: качестве альтернатива mpParse можно использовать яблочные инструменты: /usr/libexec/PlistBuddy -c 'Print UUID' /dev/stdin <<< $(security cms -D -i path_to_mobileprovision)
+1 Отличное решение - спасибо за обмен. – Till
Удивительный! Спасибо =) –
Рад, что я мог помочь! –