首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设备的Ad协同设计在Studio中成功,在Jenkins失败

设备的Ad协同设计在Studio中成功,在Jenkins失败
EN

Stack Overflow用户
提问于 2017-05-23 22:08:53
回答 1查看 615关注 0票数 8

我有一个支持安卓和iOS的Xamarin应用程序。我已经生成了Jenkins构建来编译它们。所有的Android系统都能工作。iOS调试构建编译得很好。然而,Ad构建不能完全为iPhone目标构建.在共同设计过程中,它似乎失败了。如果我瞄准iPhoneSimulator,它就能工作,但如果我瞄准iPhone设备,它就会失败。

工具/usr/bin/codesign执行从参数开始:-v --force --标志81088F81949DC4C6CE640716944EB0709F--应享权利"/Users/Shared/Jenkins/.jenkins/workspace/{project path }/obj/iPhone/Ad/Entitls.xent“--深度"/Users/Shared/Jenkins/.jenkins/workspace/{project path}/bin/iPhone/Ad/AppName.app”bin/iPhone/Ad-Hoc/AppName.app : /Users/Shared/Jenkins/.jenkins/workspace/{project路径}/bin/iPhone/Ad/AppName.app:未知错误/Users/Shared/Jenkins/.jenkins/workspace/{project path}/iDriverMobile.iOS.csproj

如果我在Visual中打开解决方案,就在Jenkins工作区文件夹中,所以它使用的是完全相同的文件,那么编译就能正常工作,这真是令人沮丧。

从这两个输出之间的差异来看,工作构建(来自Studio)似乎对所有程序集都有AOT输出,如下所示:

Mono提前编译器编译程序集/Users/Shared/Jenkins/.jenkins/workspace/{project path}/obj/iPhone/Ad-Hoc/mtouch-cache/32/Build/OpenNETCF.Google.Analytics.dll

失败的构建没有这些。相反,它有几行代码如下所示:

MTOUCH :警告/Users/Shared/Jenkins/.jenkins/workspace/{project path}/obj/iPhone/Ad-Hoc/mtouch-cache/64/Build/Msym/Msym/tmp::MT0095文件无法复制到目标目录MT0095无法启动进程。/Users/Shared/Jenkins/.jenkins/workspace/{project路径}/AppName.csproj

最糟糕的是,这些构建确实起作用了,但后来我重新启动了Jenkins正在运行的Mini,然后事情就开始走下坡路。我不知道Studio在做什么和命令行调用msbuild之间有什么区别。它们都指向相同的双星。

附加信息,直到今天(5/24/17),最新的更新仍然失败。这就是环境:

  • Mac 10.12.5
  • 列表项目
  • XCode 8.3.2
  • Xamarin.iOS 10.10.0.36
  • VisualStudio2017 Mac 7.0.1社区(构建24)
  • 单列5.0.1.1

没有解决问题的地方:

  • 创建一个新的Jenkins构建
  • 更改Jenkins工作区路径
  • 打开整个Jenkins文件夹的权限(777)
  • 启用LLVM
  • 禁用所有链接
  • 完全卸载和重新安装Jenkins
  • 使用xbuild而不是msbuild
  • 经常骂人
  • 我的中指
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-01 12:30:21

尝试删除应用程序的DerivedData中的派生数据文件夹。据苹果开发者论坛( Apple )的称,这款手机看起来像YourAPP_ dasfdsfsdafdsasfdsaf

DerivedData数据文件夹位于~/Library/Developer/Xcode/DerivedData/

如果这不起作用,所有症状都指向签名证书(也称为签名标识)问题。

从命令行编译它时,/usr/bin/codesign似乎无法访问签名标识81088F8E194139DC4C6CE640716944E41FB0709F。不幸的是,这可能有许多不同的原因:

  • 钥匙链被锁定
  • 不允许codesign访问签名标识。
  • 密钥链中存在多个标识,并且选择了错误的签名标识。
  • 错误的供应配置文件是匹配的特设建设。

在运行msbuild之前尝试添加以下代码片段,假设您的签名身份在密钥链~/Library/Keychains/login.keychain

代码语言:javascript
复制
security unlock-keychain -p <password> ~/Library/Keychains/login.keychain
security set-keychain-settings -l -u -t 3600 ~/Library/Keychains/login.keychain
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k -p <password> ~/Library/Keychains/login.keychain

将密钥链密码存储在构建脚本中并不是一个好主意,您可以按照本指南来隐藏它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44145830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档