用.mobileprovision文件提供xcodebuild
我正在设置Jenkins来自动化iOS版本。 有没有可能提供一个.mobileprovision文件没有添加到configuration工具在xcode到xcodebuild?
我知道我可以使用PROVISIONING_PROFILE和PROVISIONING_PROFILE [sdk = iphoneos *],但是他们需要将configuration文件添加到pipe理器中。
我知道我可以用xcrun做这个操作。 但是在运行xcrun之前,我必须使用xcodebuild成功签署应用程序。
有什么办法,我可以只提供configuration文件文件(.mobileprovision)xcodebuild?
我们为此提供了一个解决scheme – 实质上,您需要做的是通过将.mobileprovision文件复制到以移动configuration文件的UUID命名的目录中来“安装”。 这是双击一个.mobileprovision文件时Xcode Organizer实际执行的操作。
有一个名为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直接下载脚本
一旦你运行脚本,你可以在xcodebuild中使用PROVISIONING_PROFILE和PROVISIONING_PROFILE [sdk = iphoneos *]来创build你的应用程序。 我们在生产中使用这个。
编辑:仅供参考,我在这里问了一些基本的问题( 可以从命令行“安装”Xcode .mobileprovision文件吗? ),当没有人似乎知道:-)
更新:作为mpParse的替代品,可以使用苹果工具: /usr/libexec/PlistBuddy -c 'Print UUID' /dev/stdin <<< $(security cms -D -i path_to_mobileprovision)
如果你使用fastlane的叹息,你可以把它的输出分配给一个variablesprovision_id=sigh
这也适用,如果叹息有参数: sigh(...)
这是我唯一的脚本:
`var = $(grep UUID -A1 -a | grep -io“[-A-Z0-9] {36}”)'
用于: "$var.mobileprovision"
- xcode 8.0“添加Push Notif(..)到您的应用程序ID”警告,而已经添加
- 无法修复代码签名问题:Xcode7.3
- 编译FreeType for iPhone?
- iOS:用于移动设备pipe理的configuration文件
- didRegisterForRemoteNotificationsWithDeviceToken永远不会调用特定的设备
- CodeSign error:SDK'iOS 8.4'中产品types'WatchKit Extension'需要代码签名
- 在xcode中configuration脚本失败,退出代码1
- 苹果商店提交失败,错误ITMS-90046,但关联的域名不属于权利
- 在运行时获取供应configuration文件的到期date?