
IOS进阶
文章平均质量分 72
zwcshy
只要出发,就会到达。
展开
-
2、fatal error: malformed or corrupted AST file: 'Unable to load module Darwin.pcm 问题解决
xcode5 编译工程,偶然碰到了下面的问题:[html] view plaincopyfatal error: malformed or corrupted AST file: 'Unable to load module "/Users/gapple/Library/Developer/Xcode/DerivedData/ModuleCache/PNBJ8YUNV3转载 2014-12-18 20:16:17 · 433 阅读 · 0 评论 -
16、使用Xcode和Instruments调试解决iOS内存泄露
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准转载 2015-05-02 11:15:04 · 371 阅读 · 0 评论 -
15、 老项目在Xcode6调试运行时报错的问题(App installation failed).
最近在使用Xcode6调试之前的老项目时(环境Xcode6.01,真机iphone5,iOS8.0,),每次运行工程,第一次总会报错,只能运行第二次,报错截图如下:试着clean,也按照网上说的检查过项目内是否有Resoures文件夹,依然不能解决.后来发现Xcode6新建的工程项目没有出现的问题.怎么解决老工程项目的问题呢,毕竟每次都需要点运行2次才能调试挺闹心的.转载 2015-04-20 21:18:09 · 472 阅读 · 0 评论 -
14、 iOS "The sandbox is not in sync with the Podfile.lock"解决方案
更新Cocoapod之后出现问题:[plain] view plaincopydiff: /../Podfile.lock: No such file or directory diff: Manifest.lock: No such file or directory error: The sandbox is not in转载 2015-04-11 22:53:23 · 790 阅读 · 0 评论 -
13、Notification与多线程
前几天与同事讨论到Notification在多线程下的转发问题,所以就此整理一下。先来看看官方的文档,是这样写的:In a multithreaded application, notifications are always delivered in the thread in which the notification was posted, which may not be转载 2015-03-31 21:14:24 · 576 阅读 · 0 评论 -
12、@synthesize of ‘weak’ property is only allowed in ARC or GC mode
现在的项目是手动内存管理,所以在引入第三方资源库时候,很多资源库更新以后都开始使用arc进行编码,这样就导致两种代码风格不一致,有的时候可能开发者也没有注意到这些问题,反正用的时候也没有报错,就直接使用了;但是有的时候,因为arc编码中用到了新的属性修饰符,例如weak,这时候在手动管理内存的代码中就不能编译通过,报错的内容就是:@synthesize of ‘weak’ property is转载 2015-03-28 09:12:32 · 542 阅读 · 0 评论 -
11、缓存在AFNetworking中是如何工作的?AFImageCache和NSUrlCache给你答案
如果你是一名使用Mattt Thompson网络框架AFNetworking的iOS开发者(如果你不是,那还等什么呢?),也许你对这个框架中的缓存机制很好奇或者疑惑,并想学习如何在自己的app中充分利用这种机制。AFNetworking实际上使用了两个独立的缓存机制:AFImagecache:一个提供图片内存缓存的类,继承自NSCache。NSURLCache:NSURLCon原创 2015-03-27 01:06:28 · 484 阅读 · 0 评论 -
8、CFRunLoopMode
简单的说run loop是事件驱动的一个大循环,如下代码所示int main(int argc, char * argv[]) { //程序一直运行状态 while (AppIsRunning) { //睡眠状态,等待唤醒事件 id whoWakesMe = SleepForWakingUp(); //得到唤醒转载 2015-03-27 00:37:25 · 551 阅读 · 0 评论 -
9、iOS并发编程笔记
线程使用Instruments的CPU strategy view查看代码如何在多核CPU中执行。创建线程可以使用POSIX 线程API,或者NSThread(封装POSIX 线程API)。下面是并发4个线程在一百万个数字中找最小值和最大值的pthread例子:#import struct threadInfo { uint32_t * inputValues; si原创 2015-03-27 00:39:39 · 450 阅读 · 0 评论 -
10、@autoreleasepool-内存的分配与释放
开发过iOS、Mac的朋友应该对“@autoreleasepool”不陌生。只要在Xcode里创建一个工程,就能看到下面这样的代码://iOS programint main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv,转载 2015-03-27 01:00:08 · 490 阅读 · 0 评论 -
7、Enum-枚举的正确使用
Enum,也就是枚举,从C语言开始就有了,C++、Java、Objective-C、Swift这些语言,当然都有对应的枚举类型,功能可能有多有少,但是最核心的还是一个—-规范的定义代码中的状态、选项等“常量”。Item 5 - Use Enumerations for States, Options, and Status Codes本节的内容就是如何正确的转载 2015-03-27 00:14:14 · 642 阅读 · 0 评论 -
6、NSNotificationCenter使用
一个NSNotificationCenter对象(通知中心)提供了在程序中广播消息的机制,它实质上就是一个通知分发表。这个分发表负责维护为各个通知注册的观察者,并在通知到达时,去查找相应的观察者,将通知转发给他们进行处理。本文主要了整理了一下NSNotificationCenter的使用及需要注意的一些问题,并提出了一些未解决的问题,希望能在此得到解答。获取通知中心每个程序转载 2015-03-27 00:02:12 · 483 阅读 · 0 评论 -
1、CocoaPods详解之----使用篇
一、什么是CocoaPods1、为什么需要CocoaPods在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等转载 2014-12-13 22:43:20 · 381 阅读 · 0 评论 -
5、Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.分类: cannot be opened because the project file cannot be parsed. IDE2012-12-19 11:14 387人阅读 评论(0) 收藏举报svn更新代码后,打开转载 2014-12-27 22:29:30 · 409 阅读 · 0 评论 -
4、 xcode在Archive生成安装包时遇到ld: library not found for -lPods
这个问题很容困扰,一般有以下几个方案进入target的 Build Phases- Link binary Library,找到libPods.a,如果是红色的,删除,即可其他解决方案Build Setting > Other Linker Flag:Try to change wherever $(TARGET_BUILD_DIR) to $(BUILT_PRODUCTS转载 2014-12-27 22:28:24 · 795 阅读 · 0 评论 -
3、iOS duplicate symbols for architecture i386
Xcode添加静态库以及编译选项配置常见问题一,Xcode编译出现Link错误,出现"duplicate symbols for architecture i386 clang"提示.问题:链接时,项目有重名文件.解决:根据错误提示,做如下检查:1.Taraget->Build Settings->Link Binary With Libraries检查是否有重复l转载 2014-12-24 15:34:35 · 407 阅读 · 0 评论 -
17、Objective-C在ARC下结合GCD的单例模式和宏模版
单例模式在iOS开发过程中经常用到,苹果提供过objective c单例的比较官方的写法:[cpp] view plaincopystatic MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sharedManager { @synchron转载 2015-05-02 11:18:49 · 538 阅读 · 0 评论