Xcode持续集成configuration文件错误

我正在尝试在Mavericks上设置Xcode 5的持续集成。 如果我有一个bot做一个新的干净的项目构build,它完成没有错误。 如果我有这个机器人做我的实际项目的构build,我得到以下错误:

没有find匹配的供应configuration文件:您的构build设置指定了UUID“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”的供应configuration文件,但未find此configuration文件。 CodeSign错误:SDK'iOS 7.0'中产品types'Application'需要代码签名

如果我将最新的源代码放在服务器上,并在服务器上构build/存档,它将按预期工作。 所有预期的证书和公钥都包含在钥匙串中。 我试图更新项目中的所有configuration文件设置,并构build目标scheme指向。 有没有人有任何想法如何解决这个错误?

编辑:破解后打开项目文件,并看着UUID,从我可以告诉configuration文件的UUID找不到确实存在。 也许这是构build不能访问configuration文件或钥匙串证书的某种权限问题?

我有同样的问题,并最终设法使其工作。

首先, 我把我的服务器添加到我的开发团队,但是我也遇到了同样的错误。

然后我把这个密钥从user keychain拷贝到system keychain ,但是这还不够。

最后,我将configuration文件从~/Library/MobileDevice/Provisioning\ Profiles/复制到/Library/MobileDevice/Provisioning\ Profiles/ (事实上​​,我复制了所有的MobileDevice目录,因为它不存在)。

现在,我有一个工作的持续集成,给我一个ipa,我可以在我的Mac上下载或通过我的设备无线安装。

我不知道为什么我必须这样做,但我希望它也适用于你。

自从切换到Xcode 5后,我遇到了同样的问题。我的解决scheme是不同的。

由于错误消息显示“您的构build设置指定了UUID xxxxxx的configuration文件”,我检查了包含我的构build设置的文件(myproject.xcodeproj / projecjt.pbxproj)。

在那里我发现了一个完全一致的UUID。 删除行(当然是先备份了文件)之后,所有事情都再次奏效。

嗨,我有同样的问题,问题是我有我的login钥匙串证书和生成脚本正在寻找系统钥匙串。 我也复制了系统密钥链中的证书,现在Xcode能够使用configuration文件进行构build

在search完如何解决这个问题之后,花了整整一天的时间在我的键盘前,仔细查看了所有的页面和想法如何解决这个问题,我实际上find了一些有趣的东西。

我脑海中提到了一些东西(编辑YOU_APP.xcodeproj)。 所以我解决了这个问题:

  1. 转到您的项目文件夹
  2. 右键单击YOU_APP.xcodeproj并select显示包装内容
  3. 编辑project.pbxproj(例如TextMate2或somethig像这样)
  4. 现在注意。 我发现这个UUID(错误的UUID)将被显示的所有东西,只是取而代之的是我创build并已经使用了好几次。 我换了13次
  5. 完成。 只是编译而已。

你不会相信,但花了很多时间后,它的工作。 =)

我在过去的几个星期里一直在寻找networking,试图通过Jenkinsbuild立持续集成,当通过OS X服务器机器人失败时,两个失败的问题都是一样的。

将供应configuration文件从“ 〜/ Library / MobileDevice / Provisioning Profiles / ”复制到“ / Library / MobileDevice / Provisioning Profiles / ”是唯一的关键。

只需要注意两点: –

1 – 如果您使用的是OS X Lion,请注意您的〜/ Library文件夹不会出现在Finder中,因为它被设置为不可见 ; 请参阅http://www.macworld.com/article/1161156/view_library_folder_in_lion.html来查看它。;

2 – 不要自己提供configuration文件(例如从会员中心等下载),只需复制在〜/ Library / …中退出的configuration文件; 他们的命名是不同的; 它们都以UUID命名,例如3D19E524-9E2A-45C2-942C-F30AC3ACF0CC * .mobileprovision *

我得到了同样的错误,没有上述答案为我工作。 我引用了这个博客,并将我的configuration文件从〜/ Library / MobileDevice / Provisioning Profiles /目录复制到/ Library / Server / Xcode / Data / ProvisioningProfiles目录,但我仍然遇到同样的错误。

所以我打开了Xcode,并将configuration文件与供应门户同步。 如果您不熟悉,请转至首选项 – >帐户 – >,突出显示开发人员团队,然后单击“查看详细信息”。 然后在“签名身份”中突出显示分发代码签名标识,然后单击左下angular的刷新button。 我是从服务器上完成的,但是,我确信您可以在开发mac上刷新configuration文件,然后将它们复制到服务器上。

此过程刷新〜/ Library / MobileDevice / Provisioning Profiles /目录中的供应configuration文件。 然后,我再次尝试从〜/ Library / MobileDevice / Provisioning Profiles / / Library / Server / Xcode / Data / ProvisioningProfiles复制进程,并且Xcode bot在下一次集成期间成功find了供应configuration文件。

作为一个说明,我试图退出Xcode服务的开发团队,并重新login,这特别不适合我。 理论上应该完成同样的事情。

和其他人一样,我会复制所有的configuration文件,而不是只find您要查找的Ad Hocconfiguration文件。 原因可能是,就像我的情况一样,Xcode机器人试图存档开发configuration文件,“开发configuration文件”比“4F96F173-7EBE-4892-B283-52489DE2F409”更容易debugging。

如果这仍然不起作用,我build议遵循上面的链接并通过证书过程; 您从开发人员计算机获取证书,并将其复制到服务器上的Keychain Access应用程序的系统文件夹中。

只是为了添加注释,因为这也给了我一个很头疼的问题,Xcode机器人的模拟器可能位于/ var / _xcstest / Library / Application Support / iPhone Simulator /中。 这是我在我们的服务器上find它的地方,但是我怀疑其他人会有所不同。 我必须find它,因为Localizable.strings文件没有在模拟器中更新,testing失败。 希望这可以帮助。

实际上,解决scheme比复制configuration文件等更简单。 所有你需要做的就是正确设置Xcode服务器。

我使用Xcode 6.0.1(6A317)和Xcode Server 3.2.1(13S5179)。 虽然我认为Xcode服务器将使用从我的Xcode安装供应configuration文件,它不会。 它在/Library/Developer/XcodeServer/ProvisioningProfiles/有自己的文件夹,而Xcode会使用~/Library/MobileDevice/Provisioning\ Profiles/

所以解决scheme是:将您的开发人员帐户添加到Xcode服务器。 然后,它会自动下载所有必要的供应configuration文件,以便您的CI构build最终可以访问供应configuration文件。 您可以通过单击Xco​​de服务器的“ Builds部分中的“ Edit...button添加一个帐户,如屏幕截图中所示。

在这里输入图像说明

我有同样的问题:我已经将configuration文件添加到/ Library / Server / Xcode / Data / ProvisioningProfiles,但得到了这个错误。 解决scheme是更改供应configuration文件的权限,以便系统中的每个人都可以读取它们。

我在这里尝试了所有的答案,然后回想起来,这不可能是如此艰难。 再次search并find此Apple OS X服务器(Xcode CI服务)找不到configurationconfiguration文件

我需要使用正确的团队configuration文件。 这个页面也链接到一个很好的教程。

删除整个~/Library/Developer/XCode文件夹应该解决caching问题。 然后,位于~/Library/MobileDevice/Provisioning Profiles/应该被xcode正确地find。

@amrsd谢谢。 我现在看到有很多人正在成功(包括我自己)在“〜/ Library / MobileDevice”的“Provisioning Profiles”文件夹中手动复制configuration文件。 如果这是你正在采取的路线,退出复制+粘贴和符号链接!

$ sudo -i

# mkdir /Library/MobileDevice; ln -s /Users/myuser/Library/MobileDevice/Provisioning\ Profiles/ /Library/MobileDevice/ # mkdir /Library/MobileDevice; ln -s /Users/myuser/Library/MobileDevice/Provisioning\ Profiles/ /Library/MobileDevice/ – 其中myuser是您的用户名。