要将应用程序分发给我们的测试人员,我们使用Xcode,我们使用以下过程:
但是使用 Xcode 6 ,这个工作流程发生了一些变化。我仍然可以选择Ad-Hoc分发选项,但我无法选择我想要的配置文件。这使我们无法控制使用哪个签名证书和配置文件配置(我们使用推送通知)。
默认使用iPhone distribution
签名身份,并生成某种XC Ad Hoc
配置文件,如下图所示:
如果单击配置配置文件附近的箭头,则会打开包含配置文件的文件夹。
所以我的问题是:
Xcode 6中有没有办法选择Ad Hoc分发使用的配置文件?
谢谢!
答案 0 :(得分: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'
答案 1 :(得分:31)
提交到App Store时我遇到了类似的问题。我创建了一个存档,然后点击了#34;提交"和Xcode想要使用默认的" XC com。*"自动签名。通配符配置文件,而不是已有的显式配置文件。
要解决此问题,我只是在Apple Developer Portal上重新生成了个人资料:
1)访问developer.apple.com,找到您要使用的分发配置文件
2)选择它,单击"编辑",重命名配置文件,然后单击"生成"。
3)将配置文件下载到桌面并将其拖到Xcode 6图标上
4)重新启动Xcode 6.
5)打开组织者窗口,然后单击"提交"在你建立的档案上。 Xcode会自动选择您的显式配置文件而不是通用配置文件。
答案 2 :(得分:27)
进入组织者后
当然,您需要生成,下载和安装ad-hoc配置文件。
答案 3 :(得分: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"
和我的设置:
答案 4 :(得分:8)
在Xcode 6中(我现在正在使用至少6.1)当您进行ad hoc导出时,如果有任何配置文件包含在开发者帐户中注册的所有设备并且同时匹配,xcode 6将自动扫描捆绑ID。如果不是,它将使用XC提供配置文件。因此,如果您想使用自己的配置文件,例如,为了推送通知,您需要在Apple开发人员门户网站上选择配置文件中的所有设备。我想这就是为什么有些人重新创建个人资料会有效,有些人不会。
不过,使用脚本可以导出并上传到testflight,但设备无法下载。可能在某个地方我错了。如果有人知道它为什么,请告诉我。 TKS答案 5 :(得分:8)
我也无法解决这个问题 - 在提交到AppStore时,它被默认为通配符。
我最终在Xcode 6中构建,然后回到Xcode 5的Organizer窗口进行提交。这样,它会提示您选择要签名的个人资料。
答案 6 :(得分:7)
这对我有用:
现在您应该看到正确的配置文件名称。
答案 7 :(得分: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进行分发。
答案 8 :(得分:4)
答案 9 :(得分:3)
@MrPatol的答案对我不起作用。 我的Xcode 6.3.2的工作场景
在会员中心 - > iOS配置文件
在iPhone配置实用程序中 - >供应配置文件
在Xcode中 - >组织者强>
答案 10 :(得分:2)
以下是解决这个问题的两个关键点。
然后,Xcode会通过将App ID与应用的捆绑包标识符进行匹配来找到正确的配置文件。
答案 11 :(得分:1)
实际上,您需要创建一个特定于Ad Hoc Deployment的新分发配置文件。这可以在经典会员中心找到,但它是一种新型证书。
然后,您可以选择使用哪些设备来测试应用,就像使用开发者资料一样。
当您以常规方式从管理器导出包时,新创建的证书将可用。
或者,您可以使用Apple提供的iOS 8 TestFlight解决方案,让您的用户可以访问预发行版。
答案 12 :(得分:1)
我有同样的问题,最后我解决了它重新生成我想在Xcode 6中使用的配置文件,包括我在iOS Dev帐户上注册的所有设备,这样做,选择导出时显示正确我可以在不使用脚本的情况下使用Xcode 6进行Ad Hoc导出。希望它有所帮助。
答案 13 :(得分:0)
xcodebuild -exportArchive -archivePath $ Archive_Path -exportPath $ LOCAL_PACKAGE_DIR -exportOptionsPlist $ Export_Plist_Path
optionPlist文件是这样的,
<dict>
<key>teamID</key>
<string>MYTEAMID123</string>
<key> teamID </key>
<string>app-store</string>
<key>uploadSymbols</key>
<true/>
</dict>
<plist>
app-store,enterprise,ad-hoc,development是另类
错误域= IDEDistributionErrorDomain Code = 14“不适用 找到的设备。“UserInfo = {NSLocalizedDescription =没有适用的设备 找到。}
这是一个红宝石问题。试试这个shell脚本,xcbuild-safe.sh
xcbuild-safe.sh xxxxNormalOptionsInXcodebuild bla...
xcbuild-safe.sh:line 62:shell_session_update:找不到命令
地狱是什么shell_session_update
?让我们来解决它。只需在真正的xcodebuild cmd之前定义一个函数,即在第60或61行。
function shell_session_update() { :; }
答案 14 :(得分:0)
在xcode 7中,我无法通过
选择adhoc配置组织者 - &gt;上传到App Store&amp;组织者 - &gt;验证
但我可以通过管理器选择 - &gt;导出强>
<强>编辑:强>
在将adhoc导出到appFlight的应用商店后上传应用导致了另一个问题here。因此,解决这两个问题就是一个问题。 创建AppStore配置,以便能够通过组织者选择并通过上传到appstore来利用testFlight。
答案 15 :(得分:0)
几乎相同的问题。创建分发存档(Product&gt; Archive)后,导出存档(单击Export ...)并选择&#34; Save for Enterprise Deployment&#34 ;;那么&#34;接下来&#34;。然后选择&#34;开发团队&#34;默认(例如组织名称),然后单击&#34;选择&#34;。最后,您将看到一个摘要视图,其中还列出了Xcode自动为您找到(可能是即时创建)的配置文件。这可能是错误的配置文件(通常是通配符配置文件,例如&#34; XC:*&#34;)并且可能会发生,因为开发人员门户上已经存在通配符配置文件。通配符配置文件可能被其他较旧的项目使用,也许从开发人员门户中删除通配符配置文件是不明智的。
我使用了支持票,只获得了此链接https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP40012582-CH32-SW1。不是很大的帮助。
我发现 MrPatol 的解决方案也适用于企业部署,并为我们解决了问题。我首先登录开发人员门户并手动创建适合我的应用程序的配置文件。然后下载并安装新手动创建的配置文件。
答案 16 :(得分:0)
我已经被困了一段时间了,但是使用Crashlytics解决了它,使用Xcode项目的构建设置中的选定配置文件进行分发。
希望它对某人有帮助。答案 17 :(得分:-4)
在回答您的具体问题时,没有办法选择要使用的配置文件。你想做什么? (即您想要选择的配置文件允许自动生成的配置文件不是什么?)