提供xcodebuild联编有文件名为.mobileprovision(Provide xcodeb

2019-06-25 15:38发布

我自动化的iOS构建设置詹金斯。 是否有任何可能提供未添加到在Xcode供应工具xcodebuild联编一个文件名为.mobileprovision?

我知道,我可以使用PROVISIONING_PROFILE和PROVISIONING_PROFILE [SDK =的iPhoneOS *],但他们需要的供应配置文件被添加到主办单位。

我知道,我可以做xcrun操作。 但运行xcrun之前,我必须成功签署xcodebuild联编的应用程序。

有什么办法,我可以只提供配置配置文件(名为.mobileprovision)到xcodebuild联编?

Answer 1:

我们有一个解决方案 - 本质上,你需要做的是将其复制到移动提供文件的UUID命名的目录“安装”的文件名为.mobileprovision。 这是当你双击一个文件名为.mobileprovision什么Xcode的组织者实际上做。

有一个叫mpParse小程序,可以提取该脚本使用mobileprovision文件的UUID - 链接下载代码。 然后,它的死简单的mobileprovision文件复制到正确的位置。

下面是我言尽于此shell脚本:

#!/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联编,以创建您的应用程序。 我们在生产中使用这个。

编辑:仅供参考,我问基本上是这个问题在这里一会儿回来( 可以Xcode的文件名为.mobileprovision可以在命令行“安装”? ),并与上述上来的时候,没有人似乎知道:-)

更新:作为一种替代mpParse一个可以使用苹果工具: /usr/libexec/PlistBuddy -c 'Print UUID' /dev/stdin <<< $(security cms -D -i path_to_mobileprovision)



Answer 2:

如果您使用来自FASTLANE感叹你可以指定它的输出变量provision_id=sigh

这也适用,如果有感叹PARAMS: sigh(...)

这仅仅是为我工作的脚本:

`无功= $(握UUID -A1 -a | grep的-io “[-A-Z0-9] {36}”)'

:与使用"$var.mobileprovision"



文章来源: Provide xcodebuild with .mobileprovision file