Xcode 6 - 如何为Ad-Hoc分发选择签名证书/配置文件?

Leg*_*ess 143 ios xcode6 ios8

要将应用程序分发给我们的测试人员,我们使用Xcode,我们使用以下过程:

  • 存档申请
  • 分发Ad-Hoc
  • 选择配置文件
  • 将.ipa保存到文件夹

但是使用Xcode 6,这个工作流程发生了一些变化.我仍然可以选择Ad-Hoc分发选项,但我无法选择我想要的配置文件.这使我们无法控制使用哪个签名证书和配置文件配置(我们使用推送通知).

默认情况下,使用iPhone distribution签名身份并XC Ad Hoc生成某种配置配置文件,如下图所示:出口IPA 如果单击配置配置文件附近的箭头,则会打开包含配置配置文件的文件夹.

所以我的问题是:

Xcode 6中是否有任何方法可以选择Ad Hoc分发使用的配置文件?

谢谢!

Aqi*_*taz 52

我遇到了同样的问题,使用命令行"xcodebuild"工具脚本解决,该脚本预装了XCode6(不需要重新安装XCode5).

http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/

终端脚本:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile 'Provisioning Profile Name'
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您的应用使用任何扩展,嵌入式框架或库,这将无法正常工作. (6认同)
  • 这对我有帮助.谢谢!所以Apple更新XCode以生成糟糕的XC Prov Profiles但忘记了XCodeBuild.这次我们很幸运.哦! Apple如何让我们受苦! (4认同)

Gin*_*ane 31

提交到App Store时,我遇到了类似的问题.我创建了一个存档,然后单击"提交",Xcode想要使用默认的"XC com.*"通配符配置文件自动签名,而不是已经拥有的显式配置文件.

为了解决这个问题,我只是在Apple Developer Portal上重新生成了配置文件:

1)转到developer.apple.com并找到要使用的分发配置文件.
2)选择它,单击"编辑",重命名配置文件,然后单击"生成".
3)将配置文件下载到桌面并将其拖到Xcode 6图标上.
4)重新启动Xcode 6.
5)打开管理器窗口,然后在您构建的存档上单击"提交".Xcode会自动选择您的显式配置文件而不是通用配置文件.

  • 我持怀疑态度,但这对我有用.我刚刚切换到Xcode 6并尝试输出我的第一个ad hoc构建 (2认同)

小智 27

进入组织者后

  • 选择ad-hoc构建,然后单击"导出...."
  • 选择"Save for Ad Hoc Deployment" - > Next
  • 不从下拉列表中选择组织,而是选择"使用本地签名资产" - >选择
  • 像以前一样导出并保存.ipa.

当然,您需要生成,下载和安装ad-hoc配置文件.

  • 由于这个答案和[这个答案](http://stackoverflow.com/a/26531180/1873374)解决了这个问题.配置文件需要链接到显式应用程序ID,该ID使用与您的应用程序相同的软件包标识符.通配符应用程序ID不起作用.然后,您需要在导出应用程序时选择"使用本地签名资产". (5认同)

Tho*_*ten 17

似乎最后生成的配置文件现在获胜.因此,您可以重新生成所需的配置文件并下载它,Xcode将使用它.

一种更好的方法:在目标中设置所需的prov配置文件,并使用命令行构建您的ipa,这也是有效的.

这是脚本,我正在使用:

#!/bin/sh

# Current as working as of 2014/09/22
# Xcode 6

OUTPUTDIR="$HOME/build"
APPNAME="your-app"
SCHEME="your-app"
APP_WORKSPACE="$HOME/Path/To/your-app.xcworkspace"

rm "$OUTPUTDIR/$APPNAME.ipa" #deletes previous ipa
xcodebuild -workspace "$APP_WORKSPACE" -scheme "$SCHEME" archive -archivePath "$OUTPUTDIR/$APPNAME.xcarchive"
xcodebuild -exportArchive -exportFormat ipa -archivePath "$OUTPUTDIR/$APPNAME.xcarchive" -exportPath "$OUTPUTDIR/$APPNAME.ipa" 
Run Code Online (Sandbox Code Playgroud)

和我的设置:

Xcode设置


Jon*_*her 8

我也无法解决这个问题 - 在提交到AppStore时,它被默认为通配符配置文件.

我最终在Xcode 6中构建,然后回到Xcode 5的Organizer窗口进行提交.这样它会提示你选择一个配置文件来签名.


Ale*_*ieh 8

在Xcode 6中(我现在正在使用至少6.1)当您进行ad hoc导出时,xcode 6将自动扫描是否有任何配置文件包含在开发者帐户中注册的所有设备,同时与软件包ID匹配.如果不是,它将使用XC提供配置文件.因此,如果您想使用自己的配置文件,例如,为了推送通知,您需要在Apple开发人员门户网站上选择配置文件中的所有设备.我猜这就是为什么有些人重新创建配置文件会起作用而有些人不会.

顺便说一句,使用脚本可以导出并上传到testflight,但设备无法下载.可能在某个地方我错了.如果有人知道它为什么,请告诉我.TKS


小智 7

这对我有用:

  1. 单击"..select a Development Team .."对话框中的"查看帐户..".
  2. 单击"查看详细信息..."并找到XC Ad Hoc配置文件.
  3. 右键单击该配置文件,然后选择"在Finder中显示".
  4. 删除所选的个人资料.
  5. 返回步骤1中的对话框.
  6. 点击"选择".
  7. 单击配置配置文件附近的箭头以打开配置配置文件目录.
  8. 再次删除通用配置文件,如步骤4中所示.
  9. 单击"发送[应用程序名称]到Apple:"对话框中的"上一步"按钮.
  10. 再次选择"保存以进行特别部署"
  11. 再次单击"选择"按钮.

现在您应该看到正确的配置文件名称.

  • 不适合我.即使在步骤4和8中删除了配置文件之后,也会重新创建配置文件并在步骤11中再次自动选择配置文件. (5认同)

Ada*_*man 6

我有一个适合我的解决方法.

我安装了Xcode 6和Xcode 5.1.1,Xcode 6在Applications中,Xcode 5.1.1在另一个目录中.当我想进行构建时,我使用Xcode 6来创建存档.但您也可以在Xcode 5.1.1中看到创建的存档,因此我使用Xcode 5.1.1使用我想要使用的配置文件分发Ad Hoc .ipa.所以使用Xcode 6构建,但使用Xcode 5.1.1进行分发.