Ответ 1
У нас есть решение для этого - по существу, вам нужно "установить" файл .mobileprovision, скопировав его в каталог с именем UUID файла мобильного обеспечения. Это то, что фактически делает Xcode Organizer при двойном щелчке файла .mobileprovision.
Там небольшая программа под названием mpParse, которая может извлечь UUID из файла mobileprovision, который использует script - ссылка для загрузки в коде. Тогда он мертв просто, чтобы скопировать файл mobileprovision в нужное место.
Вот оболочка script, которую я сделал для этого:
#!/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"
Вы можете скачать script прямо из https://gist.github.com/2568707
Как только вы запустите script, вы можете использовать PROVISIONING_PROFILE и PROVISIONING_PROFILE [sdk = iphoneos *] в xcodebuild для создания своего приложения. Мы используем это в производстве.
Изменить: просто для справки, я задал этот вопрос здесь немного (Может ли файл Xcode.mobileprovision быть установлен в командной строке?) и придумал выше, когда никто, казалось, не знал: -)
Update:
В качестве альтернативы mpParse можно использовать инструменты apple:
/usr/libexec/PlistBuddy -c 'Print UUID' /dev/stdin <<< $(security cms -D -i path_to_mobileprovision)