错误提示如图:

error: No signing certificate "iOS Distribution" found: No "iOS Distribution" signing certificate matching team ID "YQL2NV3V7T" with a private key was found. (in target 'HelloWorld')

** ARCHIVE FAILED **

从网上找到的答案大概都是这样的,试了也不管用:

jenkins 自动构建 IOS 包签名遇到问题

解决办法:

编译之前添加 security unlock-keychain -p "你的密码" "path to keychain/login.keychain"

根本原因是Jenkins,ssh方式到slave机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份,所以添加一步输入密码解锁钥匙串,可以给Jenkins一个用户身份。 build步骤前添加一步解锁钥匙串。 security unlock-keychain -p "login pwd" ~/Library/Keychains/login.keychain

修改过程:

是系统用户权限的问题

我把tomcat+jenkins放在root目录下

但是xcode配置的证书是在登录用户/User/wangju下的某个子目录

然后启动jenkins,.jenkins目录也是生成在/User/wangju目录下的

试着N多办法也不好用,最后我把jenkins的安装目录挪到了 /User/wangju/Library目录下,就好了

再启动tomcat,登录jenkins,执行打包命令,神奇的是,就可以打包成功了,现在还有点蒙,不过总算是搞定了这个问题。看到能打出xcarchive文件的一刹那,开心的想哭。从昨天下午7点左右一直到11点一直琢磨这个问题,再到今天11点 ,差不多7个小时了,总算不用重装系统搞定了它,开心一下吧。

附上一张tomcat的启动文件所在的路径

这个问题又复现了一次,解决方式如下:

  1. cd到tomcat文件安装目录
  2. 停止tomcat服务
  3. 启动tomcat服务

重启tomcat之后桌面上出现了这个java的图标,奇怪的是之前jenkins也能使用,但是桌面上并没有这个java图标啊?怀疑是我启动tomcat的方式出了问题,所以导致电脑重启后,影响了jenkins打包

貌似是这个原因导致的:


说明:我使用launch来启动的tomcat,程序执行都正常,但却没办法启动服务,权限修改都做了,但还是没有用。

----------------------分隔线----------------------

另外我还改了证书所在的 用户目录的权限,不知道有没有这个原因

选择 系统偏好设置>>共享 可以进行配置

我还把/User/xxx/Library/Keychains目录下的这些文件都挪到/var/root/Library/Keychains目录下,也试了,不过似乎是没有啥用,最后又把复制的文件删除了

现在我也不清楚做了这么多操作到底是哪一步影响了最终的结果呢,只是如果再遇到配置ios打包的问题,我是一定 一定不会乱改系统的配置文件了(在做配置前,我改了mac的计算机名,管理员用户名和家目录,但是很奇怪,我把管理员用户名已经改了abc了,在命令行显示的却始终是cba,不知道这个是不是导致我配置出错的原因。用户权限 什么的)

我觉得这种答案可能也是可以的,但没有试

注意:Credential 可以添加密码,jenkins如果在root用户下载的请改   /etc/sysconfig/jenkins  为root否则会报错;或者新建普通用户XXXX在修改

然后重启即可:  service jenkins restart

jenkins打包ios 报错rror: No signing certificate "iOS Distribution" found: No "iOS Distribution...的更多相关文章

  1. 终端ssh登录mac用shell打包ipa报错:replacing existing signature

    终端ssh登录mac用shell打包ipa报错:replacing existing signature 报错原因:login.keychain被锁定,ssh登录的没有访问权限 解决方法:终端敲入 s ...

  2. react-native命令行打包APK报错

    我是根据react-native官网进行的react-native打包APK 我的步骤为 第一步就是生成密钥 第二步就是将密钥拷入 第三步:在\android\gradle.properties写入 ...

  3. [原]Jenkins(八)---jenkins构建项目报错时发送错误报告邮件

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...

  4. 【Devops】【docker】【CI/CD】jenkins 清除工作空间报错Error: Wipe Out Workspace blocked by SCM

    jenkins 清除工作空间报错 错误如下: Error: Wipe Out Workspace blocked by SCM 解决方法: 进入jenkins服务器,进入workspace,手动rm ...

  5. Py打包exe报错

      Py打包exe报错       下载地址 https://github.com/pyinstaller/pyinstaller       用管理员执行   pip install https:/ ...

  6. 苹果ATS特性服务器配置指南 HTTPS 安卓可以用 IOS 报错。

    解决方案:https://www.qcloud.com/document/product/400/6973 ATS检测:https://www.qcloud.com/product/ssl#userD ...

  7. jenkins配置SVN报错

    jenkins配置SVN报错,如图:

  8. 【Python】pyinstaller打包运行报错failed to execute script main

    前言 最近用pyinstaller打包的时候一直报"failed to execute script main". 最终使用"pyinstaller --hidden-i ...

  9. Linux下登陆MySQL时遇到报错"RROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) "

    前言 作者在2021-07-21时遇到 linux下登陆MySQL时遇到报错"RROR 1045 (28000): Access denied for user 'root'@'localh ...

随机推荐

  1. E - 盒子游戏

    有两个相同的盒子,其中一个装了n个球,另一个装了一个球.Alice和Bob发明了一个游戏,规则如下:Alice和Bob轮流操作,Alice先操作每次操作时,游戏者先看看哪个盒子里的球的数目比较少,然后 ...

  2. checkbox的全选、全消的使用

    jquery的选择器的使用 //全选,全消 $("#check_all").click(function () { state = $(this).prop("check ...

  3. [51Nod1850] 抽卡大赛

    link $solution:$ 朴素 $dp$,暴力枚举选择 $i$ 号人的第 $j$ 张卡片,朴素 $dp$ 即可,时间复杂度 $O(n^4)$ . 考虑对于朴素 $dp$ 的优化,发现其实是一个 ...

  4. luogu P1399 [NOI2013]快餐店

    传送门 注意到答案为这个基环树直径\(/2\) 因为是基环树,所以考虑把环拎出来.如果直径不过环上的边,那么可以在环上每个点下挂的子树内\(dfs\)求得.然后如果过环上的边,那么环上的部分也是一条链 ...

  5. git合并丢失代码问题分析与解决(错误操作导致)

    问题描述 我们在主干dev和branch1分支上进行并行开发.当要把branch1功能的代码合并到dev上时,发现dev上开发的部分功能代码找不到了. 那么,是在branch1上,作了删除提交导致的吗 ...

  6. Django rest_frameword 之项目流程

    后端开发软件目录规范 一.Model from django.db import models # Create your models here. # 多表的设计 # 图书 作者 出版社 作者详情表 ...

  7. ASP.NET Core 基础知识(一) ASP.NET Core是什么?与.NET Framework、Mono之间的关系 ?

    一.概念: ASP.NET Core 是一个开源的.跨平台的 .NET 实现.而 .NET Framework 是基于 Windows 的 .NET 实现,Mono 是 .NET Framework ...

  8. du df的用法

    1,两者区别 du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在 的,没有被删除的.他计算的大小就是当前他认为存在的所有文件大小的累加和. df, ...

  9. 一、MyBatis基本使用,包括xml方式、注解方式、及动态SQL

    一.简介 发展历史:MyBatis 的前 身是 iBATIS.最初侧重于 密码软件的开发 , 后来发展成为一款基于 Java 的持久层框架. 定      位:MyBatis 是一款优秀的支持自定义 ...

  10. C++ GUI Qt4学习笔记07

    C++ GUI Qt4   qtc++scrollobject编程 事件(event)是由串口系统或者Qt自身产生的,用以响应所发生的各类事情.当用户按下或者松开键盘或者鼠标上的按键时,就可以产生一个 ...