自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月神_

弱小和无知不是生存的障碍,傲慢才是。

  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 AppStore上线二进制文件被拒,崩溃日志解析过程。

今天遇到这个问题:上线被拒,苹果那边给了两个文件。这两个文件是崩溃日志,但是直接打开是完全看不懂的,找不到崩溃的地方在哪,也没办法重现。所以要解析出来,让我们能看得懂,才能定位到问题的所在。那么,如何解析呢?第一步:打开Xcode -> Window -> Organizer 进入到我们打包的工具里面。找到我们上线版本构建的包:下载dSYMs 。如果提示...

2018-05-04 17:30:32 1387

原创 ld: library not found for -lAFNetworking 导致clang: error: linker command failed

分析这个错误一般是使用CocoaPods更新第三方库的时候容易发生。我今天就是想在项目里加上ReactiveCocoa,pod install 之后就出现了这个错误,这可能是由于这个项目最初的pods版本和现在的不一样,导致原来的Other Linker Flags 里面的还是原来的pods版本的东西。解决方法TARGETS -> Other Linker Flags 在这里把相应的报错(比如:-l

2017-12-11 17:06:41 987

原创 Xcode 9.0 - UMengSocialCOM SDK 打包报错:Run custom shell script `[CP] Copy Pods Resources

报错如图:提示是UMengSocialCOM的xib的版本低的问题。解决方法:把UMengSocialCOM所有的xib:改为:打包成功!

2017-10-10 10:10:19 1613

原创 iOS - Xcode编译报错,但不提示具体错误。

如果你这里不是YES,改成YES就会提示出具体错误了。

2017-09-22 15:16:44 1565

原创 iOS - Xcode 9.0 :Main Thread Checker: UI API called on a background thread: 问题

今天刚更新的Xcode9.0,第一个坑:解决方法:第一步:第二步:重新运行一下就好了。

2017-09-20 13:36:25 4895 2

原创 iOS - 数据持久化方案

我们在开发过程中,一定会涉及到数据缓存、图片缓存等存储问题。iOS中常用的数据持久化方案有:plist文件、NSUserdefaults、NSKeyedArchiver(归档、解档)、FMDB(sqlite)、CoreData 基本就这几种。说道数据持久化,首先要问数据储存到哪里?iOS程序默认情况下只能访问程序自己的目录—沙盒。沙盒有很多目录:1.Documents:只有用户生成的文件、应用程序不

2017-08-30 15:58:33 351

原创 iOS- 报错(崩)[< > setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key

解决方法:右键这两个地方肯定有错误或者警告,把错误警告全部删除,重新建立联系就好了。

2017-08-22 17:12:13 1577

原创 IOS - AFN:Invalid parameter not satisfying: URLString

问题描述:请求参数是中文时报这个错误,程序崩溃。而请求参数是英文的时候就不会报错。推断就是编码格式的问题。AFN 报这个错:Invalid parameter not satisfying: URLString是会导致程序崩溃的。编码问题: 这是由于我们的请求参数没有NSUTF8StringEncoding编码造成的。解决方法://这是我对参数的处理viewInfo.name = [viewIn

2017-08-22 17:03:07 1643

原创 iOS - xib死活连不上代码问题/[<NSObject 0x1702023e0> setValue:forUndefinedKey:]: this class is not key

今天遇到一个问题:新建的xib文件连接不上代码。解决方法:这个file’s Owner 的Custom Class 设置为自己的类名,终于可以把xib的控件拖到代码里了,但随后运行之后出现: [ setValue:forUndefinedKey:]: this class is not key直接崩溃了。。解决方法:然后再把刚才的这个file’s Owner 的Custom Class清空

2017-08-17 14:19:40 4047

原创 Interface Builder - Failed to load designables from path (null)

Interface Builder - Failed to load designables from path (null)打开xib遇见这个异常,而且只是编译异常,能够正常运行。原因:CocoaPods的Podfile配置问题解决方法:确保CocoaPods版本在0.36.1以上这是我的版本:在Podfile中加入 use_frameworks!然后clear一下,重启xcode。解决!亲测有效

2017-08-15 09:18:56 1817

原创 Xcode报错: Command /bin/sh failed with exit code 1

Xcode报错: Command /bin/sh failed with exit code 1 解决方案

2017-08-09 15:00:25 2144

原创 Property "属性名" not found on object of type "类名"

Property "属性名" not found on object of type "类名"

2017-08-09 11:07:00 10758 2

原创 iOS - UIButton图片文字各种位置的调整

NavigationBar上面自定义的navigationItem,并且是要求图片在上文字在下。

2017-07-28 09:38:34 3483

原创 Swift 3.0 - 初级用法(二)

一、对象和类Swift 当中使用class和类名来创建一个类。类中属性的声明和常量、变量声明一样,唯一的区别就是它们的上下文是类。同样,方法和函数声明也一样。class TestViewController: ViewController { var numberOfSides = 0 func simpleDescription() -> String { retu

2017-07-17 16:31:18 381

原创 Swift3.0-初级用法(适合初学者)

一、关于SwiftSwift是一种新的编程语言,这个应该每个iOS开发者都有过了解,这门语言是用于编写iOS、macOS、watchOS和tvOS的应用程序。Swift结合了C和Objective-C的优点并且不受C兼容性的限制,可以说相当的nb。Swift采用安全的编程模式并添加了很多新特性,使得编程更加的简洁、更灵活、也更有趣。Swift是基于成熟而且倍受喜爱的Cocoa和Cocoa Touch

2017-07-13 17:11:06 481

原创 iOS - 多线程方案之GCD

1.GCD简介GCD是苹果开发的一个多核编程的解决方法。Grand Central Dispatch(GCD)在MacOS X10.6(雪豹)中首次推出,并随后被引入到了iOS4.0中。GCD和其他的多线程技术方案,如NSThread、NSOperationQueue、NSInvocationOperation等技术相比,使用起来更加方便。先看一个编程场景,在iPhone上做一个下载网页的功能,

2017-07-07 12:37:04 322

原创 iOS - 理解内存管理(二)- 循环引用的原理及检测方法、ARC

1.什么是循环引用问题?上篇文章说到循环引用的问题,其实引用计数这种管理内存的方式虽然简单,但是有一个瑕疵,它不能很好的解决循环引用的问题。如图展示:对象A和对象B,互相引用了对方作为自己的成员变量,只有当自己销毁的时候,才会将成员变量的引用计数减1。因为对象A的摧毁依赖于对象B的销毁,而对象B的销毁依赖与对象A的销毁,这样就造成了循环引用问题。即使在外界已经没有任何指针能访问它们了,它们这种互相依

2017-07-05 17:00:24 1852

原创 iOS - 理解内存管理

iOS当中当我们提到内存管理首先想到的是引用计数,引用计数(Reference Count)是一个简单有效的管理对象生命周期的方式。不管是OC语言还是Swift语言,其内存管理方式都是基于引用计数的。如果你对这一块不是很清晰,一定要耐心的看看,下面就先说一下这种内存管理方式的特点及注意事项。1.什么是引用计数,原理是什么?引用计数可以有效的管理对象的生命周期。当我们创建一个新的对象的时候,它的引用计

2017-07-04 16:56:28 344

原创 iOS - Block 用法及其应用场景概述。

Block 是一种苹果开发的基于 C 的调用方式,在 iOS 和 Mac 开发上都有广泛的应用。Block 从某种程度上来说是一种很新的回调方式,苹果在2009年将其引入 Mac OS X 10.6,之后在2010年将其引入到 iOS 4.0。在iOS开发过程中,回调方式有三种Block、Delegate、NSNotification。这三种方式也是各有优缺点,这里只是讲一下Block的几种用法。什

2017-06-29 16:51:09 789

原创 iOS - Delegate代理为什么要用weak修饰(面试官钟爱)

最近,我自己也是刚刚找到工作,也是面试了很多家公司。也尝试着总结一下,这是我的第一篇面试之后的总结,那么前戏不多,直奔主题,小伙们似乎已经等不及啦。我们开发的过程中经常的使用代理delegate来替我们做事,而怎么修饰代理属性呢,说实话之前我还用过strong,却也一样实现功能,那时候我觉得有什么的,搞得出来都一样,想想都好笑。这个问题也是面试官的钟爱问题了。现在,这里郑重庄严的说一下delegat

2017-06-24 13:42:39 3485

原创 iOS-UIApplicationMain以及UIApplication职责

一、UIApplicationMain 首先这边先说一下 UIApplicationMain 这个函数,那么我们的iOS程序的主函数main 负责启动程序,然后这个main函数里面是调用UIApplicationMain这个函数:这是我现在的Xcode 8.3.3 的main函数 int main(int argc, char * argv[]) { @autoreleasepool

2017-06-22 15:30:21 878

原创 CocoaPods 的安装和使用 - 详解步骤

一、CocoaPods的安装 CocoaPods的安装方式异常简单,Mac下都是自带ruby,使用ruby的gem命令即可下载安装:$ sudo gem install cocoapods$ pod setup如果你的gem太老,可以尝试用如下命令升级gem:$ sudo gem update –system另外,ruby的软件源rubygems.org因为使用亚马逊的云服务,所以被蒙蔽了,需要更

2017-06-20 16:40:04 440

转载 TapTap遭App Store下架 苹果热更新海啸来袭

早在之前,苹果App Store审核团队就向开发者发送邮件,如果不在6月12日之前移除热更新的相关代码,他们的App可能就会面临下架。根据查询得知,目前App Store已经移除了包括TapTap在内的榜单推荐类App。同时还保留有热更新的代码的App,相信也即将全部移除。为了iOS完美的系统闭环,即使面对媒体的口阀笔诛,苹果也不会对任何人让步。![这里写图片描述](http://img.blog.

2017-06-19 12:38:06 2125

原创 ReactiveCocoa - RAC 入门

一、ReactiveCocoa简介 ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,它的牛逼之处就在于它以Cocoa命名!这是苹果的命名啊,它用来给自己命名好像很厉害的样子哦。二、ReactiveCocoa什么作用?(1)在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。比如按钮的点击事件,del

2017-06-15 14:48:58 517

原创 ios - Runtime 运行时机制

一、 Runtime是什么?1.runtime 叫做运行时机制,其实oc也有运行时机制-消息机制!我们oc中调用方法的时候,其实底层就是发消息。 2.c语言中,函数的调用在编译的时候会决定调用哪个函数。 3.oc当中的函数,属于动态调用的过程,在编译的时候并不能决定真正调用哪个函数,只有在运行的时候才会决定调用函数。 那么,现在就可以得出: (1)在编译阶段,oc可以调用任何函数,即使这个函

2017-06-04 19:00:09 443

原创 Runloop 实际应用和详细解释

上篇文章讲了Runloop的基本原理和一些需要注意的事项,那今天来说一下Runloop在实际开发中的一些应用场景和更深刻的理解。大家都知道我们开Timer就会出现耗时操作,那么呢耗时操作肯定不能在主线程里面,以为一旦有手势滑动触摸,UI直接卡死!所以我们要开辟线程来做这件事,那么开辟线程我们常用的都是比较牛逼的GCD,但是我先用NSThread,这样能更清楚的看到Runloop 的应用。这里直接上代

2017-06-01 10:36:44 634

原创 关于IOS 我对Runloop 的理解

Runloop 是什么? Runloop的原理是什么?带你了解Runloop!

2017-05-31 11:32:27 1644

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除