iOS常见问题解决方案

### pod setup命令执行错误解决

!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...

error: RPC failed; curl 56 SSLRead() return error -36

fatal: The remote end hung up unexpectedly

fatal: early EOF

fatal: index-pack failed

***** BEGIN *****

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developers

# 后面的地址你可以打开Xcode显示包内容,找到那个文件夹拖到终端里面

$ cd ~/.cocoapods/

$ du -sh * #查看到883M多就可以了

***** END *****


### Foundation报错

# 可能是项目中用到.c文件,而且你也用了.pch文件

同时适用于pch包含的文件不会包含于c文件中

iOS项目工程,添加一个c文件,编译报错,Could not build module 'Foundation'

检查你的*.pch文件,将#import用#ifdef __OBJC__    #endif包裹起来

eg:

#ifdef __OBJC

#import <Masonry/Masonry.h>

#endif


### COCOAPODS安装教程

$ gem sources —-remove https://rubygems.org

$ gem sources -a https://ruby.taobao.org/

$ gem sources -l

$ sudo gem install cocoapods

$ vim Podfile

$ pod install

$ sudo gem install -n /usr/local/bin cocoapods  #更新cocoapods

$ sudo gem update --system  #更新gem


### 执行pod setup很慢很慢的解决方案

***** BEGIN *****

$ pod install --verbose --no-repo-update

$ pod repo add master https://gitcafe.com/akuandev/Specs.git

$ git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

$ pod repo update

$ cd ~/.cocoapods

$ du -sh #查看pod repo的下载进度

***** END *****


### 安装cocoapods报错

ERROR:  Error installing cocoa:

activesupport requires Ruby version >= 2.2.2.

***** BEGIN *****

$ curl -L get.rvm.io | bash -s stable

$ source ~/.bashrc

$ source ~/.bash_profile

$ rvm install 2.2.2

$ rvm -v

***** END *****


### 分析崩溃日志

& tip:Xcode->Product->Analyze => Buildtime 查看分析结果并进行代码优化.

EXC_BAD_ACCESS:通常用于访问了不该访问的内存导致

SIGSEGV: 通常由于重复释放对象导致,这种类型在切换了ARC以后应该已经很少见到了。

SIGABRT:  收到Abort信号退出,通常Foundation库中的容器为了保护状态正常会做一些检测,例如插入nil到数组中等会遇到此类错误。

SEGV:(Segmentation  Violation),代表无效内存地址,比如空指针,未初始化指针,栈溢出等

SIGBUS:总线错误,与 SIGSEGV 不同的是,SIGSEGV 访问的是无效地址,而 SIGBUS 访问的是有效地址,但总线访问异常(如地址对齐问题)

SIGILL:尝试执行非法的指令,可能不被识别或者没有权限

SIGTRAP:由断点指令或其它trap指令产生. 由debugger使用。

SIGTRAP代表陷阱信号。它并不是一个真正的崩溃信号。它会在处理器执行trap指令发送。LLDB调试器通常会处理此信号,并在指定的断点处停止运行。如果你收到了原因不明的SIGTRAP,先清除上次的输出,然后重新进行构建通常能解决这个问题

& 在LLDB控制台上键入bt命令打印出回溯信息。

0x8badf00d  在iOS上,它经常出现在执行一个同步网络调用而阻塞主线程的情况。因此,永远不要进行同步网络调用。这个异常一般是因为系统监视器(watch dog)发现超时现象,终止app抛出,比如启动或终止超时,或者是响应系统事件超时。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一次安装CocoaPods也遇到了一些坑,但是 那个时候时间比较紧,没有抽出时间整理,最近因为电脑还原从新做了系...
    幸福的尾巴__阅读 8,639评论 7 9
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 26,029评论 3 50
  • 抹宿终归过土 不相忘,两厢伤 静穆春色年华 互相叹,春枝桠 一拂媚夏 伦佳人,在他家 残秋乱,山河碎 一抹惨冬,归...
    星眠阅读 245评论 0 2

友情链接更多精彩内容