svn xcode 证书 相关的一些问题(未整理)

2016-08-10  本文已影响247人  _狗尾巴草

svn  

新建项目先add  再ci


如果你想打开整个系统的隐藏文件可以在终端下输入以下命令

defaults write com.apple.finder AppleShowAllFiles -bool true

关闭显示隐藏功能defaults write com.apple.finder AppleShowAllFiles -bool false


SVN 项目Illegal target for the requested operation  文件提交不上去,,删除,重新拖

appIcon  图片显示target 不存在,,将@符号去掉再拖就可以


  svn tree 冲突

如果使用图形化客户端可以通过对比文件和解决冲突按钮进行解决,

如果是使用命令行的,

情况类似如下:(其中 removed_directory 是你工作的某个目录)

这种情况我们可以通过以下命令解决:

$svn resolve --accept working removed_directory

$svn revert removed_directory

$svn st

$


1 duplicate symbol for architecture x86_64

或许是不同控制器定义了同一个静态变量..冲突.看跟谁相关提示


网络请求 连error 都不过.直接走了..报超时可能连请求头请求地址都写错了..注意检查


链接出错  reference xx.o

build setting 下面.m 文件没有添加进去

.m 文件被全部注释,,无法链接 .该文件不存在于refrece ,值存在于findel 下面,,要拖一下.  不同文件下 定义了同一个字符,duplcate  冲突..改名字

多数可以删除后再拖就可以解决


afn 解析问题

NSLocalizedDescription=Request failed: unacceptable content-type: text/html}

self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];


code signing is required for product type 'Application' in SDK 'iOS 6.0'

PROJECT --> Build Settings --> Code Signing --> Code Signing Identity设置为 iPhone Developer

TARGETS --> Build Settings --> Code Signing --> Code Signing Identity设置为 iPhone Developer

Xcode7中,由于某些机制,使得我们在添加类似于 libresolv.dylib、libz.dylib等库的时候,直接在Build Phases中点击加号添加,似乎已经无法找到相应的库。此时,我们可以直接在Build Settings中,手动添加。添加方法:找到Lingking,在Other Lingker Flags中添加。依据其命名规则,去掉前缀lib,和后缀.dylib,添加前缀-l,即-lresolv,即可解决。


svn tree 冲突

svn resolve --accept working -R XXX。

is scheduled  add  .but is missing

使用revert — depth

整个连文件夹删掉..重新拖


SVN错误:Attempted to lock an already-locked dir

1、出现这个问题后使用“清理”功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。

2、有时候如果看到某个包里面的文件夹没有SVN的标志,直接用“Ctrl+Delete”手工删除,然后“清理”,最后“更新”或“提

svn 版本回滚

svn merge -r 12147:12146 testfile(路径)   

然后ci即可

终端查看着两个版本的代码区别

svn diff -r 407:408

升级到xcode8.0  之后svn 失效 

svn: E155036: The working copy at '/Users/liuweilin/Desktop/guoguo'

is too old (format 29) to work with client version '1.9.4 (r1740329)' (expects format 31). You need to upgrade the working copy first.

解决办法 ,,cd DAO .Svn根目录下 svn upgrade  即可

xcode8   

common+/ 不能注释了

这个是因为苹果解决xcode ghost。把插件屏蔽了。解决方法

命令运行:

sudo /usr/libexec/xpccachectl





证书问题

新创建的profile  . PROVISIONING_PROFILE ,提示找不到uuid ,,到project 里面找到profile  uuid 删除..ctrl +s ,回来指定 code sign 为no code sign  ..command +b (可以不进行) ..然后退出Xcode(一定) ..重新打开Xcode  选中product 和debug 的profile 为自己心创建的文件..运行    多关闭开开启几次Xcode

团队开发.有时候用xcode 下载下来的证书并没有自动安装(codesign 找不到你所需要的证书),,,需要开发者找到证书所在的路径..进去双击,...才会被安装.很多关于证书找不到idetifile 的问题 可以这样解决  再或者根据下面路径清空一次.再下载安装

~/Library/MobileDevice/Provisioning Profiles


清除证书的路径

~/Library/MobileDevice/Provisioning Profiles

一个人的账号或者一个公司账号  开发多个项目(多个boundelid) ..直接增加appid(根据新项目的bounded id)  然后 去最后一个项目添加Provisioning Profiles (次过程会要求你选择新的appid 和 从电脑钥匙串里面到处的颁发证书:钥匙串里面颁发生成的证书可以多个项目共用一个,避免重复多余无用).导出 调试的debug 和上线product 的文件…再在app id里面编辑新生成的app id ,增加推送的debug product 证书即可  (同一个boudleid 苹果只让最多生成两个调试证书..多余的没用的需要清理掉,)

每次官网有证书失效...就要清除一下本地的钥匙串里面失效的p12 等证书..防止导出的是无效的证书..多人团队开发时候



首次使用的开发账号,在xcode8.2 ,正式都是achive 状态,但是导入之后就是报错,钥匙串里面修改一下证书第三方为验证改为始终跟证书信任,使用勾选一下xcode 自带的atomic 一下,然后取消,选择自己想要选择的证书 就好了,奇怪的bug


添加设备调试 

找到uuid  添加设备...在profile 里面编辑profile 的设备selected ..然后 用Xcode --prefrence --account  查看账号新生成的profile 文件---download ..然后 showinfider 旧的 profile  去删除...编译会报错,,找不到profile ..去project里面 删除uuid 那一句././关闭Xcode  重启..ok



xcode => window => project => derived data => delete

cocoapod 更新时常遇到这个缓存问题。clean 不管用只能清楚这个

cocoa pods 网络问题,在遇到“ Curl POST to HTTPS url gives SSLRead() error:curl: (56) SSLRead() return error -9806 ”的问题时,终端输入“git config --global core.compression -1”会解决这个问题

升级cocoapods遇到的问题 参考

注意更新ruby 的系统环境

http://blog.csdn.net/yutianlong9306/article/details/52244287

http://stackoverflow.com/questions/37361452/could-not-find-cocoapods-0-among-n-total-gems-gemloaderror


https 的问题

三种情况

1.有https 证书 但是证书已过期 (后台导出.cer 的自制证书,安卓的后缀不一样)

使用afn 3.1  可以忽略证书验证

// 1.初始化单例类AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];// 2.设置非校验证书模式manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];    manager.securityPolicy.allowInvalidCertificates =YES;    [manager.securityPolicy setValidatesDomainName:NO];

2,有https 证书 且ok (后台导出.cer 的自制证书,安卓的后缀不一样)

+ (AFSecurityPolicy *)customSecurityPolicy

{

//先导入证书,找到证书的路径

NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"hgy" ofType:@"cer"];

NSData *certData = [NSData dataWithContentsOfFile:cerPath];

AFSSLPinningModeCertificate 使用证书验证模式

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];

allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO

如果是需要验证自建证书,需要设置为YES

securityPolicy.allowInvalidCertificates = YES;

validatesDomainName 是否需要验证域名,默认为YES;

假如证书的域名与你请求的域名不一致,需把该项设置为NO;如设成NO的话,即服务器使用其他可信任机构颁发的证书,也可以建立连接,这个非常危险,建议打开。

置为NO,主要用于这种情况:客户端请求的是子域名,而证书上的是另外一个域名。因为SSL证书上的域名是独立的,假如证书上注册的域名是www.google.com,那么mail.google.com是无法验证通过的;当然,有钱可以注册通配符的域名*.google.com,但这个还是比较贵的。

如置为NO,建议自己添加对应域名的校验逻辑。

securityPolicy.validatesDomainName = NO;

  NSSet *set = [[NSSet alloc] initWithObjects:certData, nil];

   securityPolicy.pinnedCertificates = set;

return securityPolicy;

}

2,有https 证书 且ok (CA申请的证书,,,前段不需要.cer 的证书)

+ (AFSecurityPolicy *)customSecurityPolicy

{

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];

securityPolicy.allowInvalidCertificates = YES;

securityPolicy.validatesDomainName = NO;

return securityPolicy;

}

此时可放心将target 里面的info plist 里面额 允许http访问取消掉



欢迎交流 qq 1062080667

上一篇下一篇

猜你喜欢

热点阅读