开发中遇到的问题和解决方法(持续更新)

1、pod安装淘宝镜像失败:Error fetching http://ruby.taobao.org/: bad response Not Found 404 (http://r

解决:http 改成 https

2、pod install 失败:[!] Unable to satisfy the following requirements:- `Masonry` required by `Podfile`Specs satisfying the `Masonry` dependency were found, but they required a higher minimum deployment target.

解决:podfile platform :ios,’8.0’ 版本号不能少

3、问题:cocoapods 导入的第三方库,import“”时没有提示

解决:target - build setting - search paths - user header search  添加:$(PODS_ROOT)  选择 recursive 

4、配置pch文件,新建了.pch文件之后,在build setting中:

(1) 将Precompile Prefix Header设置成Yes;

(2). 在Prefix Header中写入它的绝对路径。Re:绝对路径哟。我开始放的是相对路径$(SRCROOT)/pch文件名.pch。结果发现项目还是报错。

获得绝对路径的技巧: 教一个方法:打开终端。将项目中的.pch文件拖入到终端中即可。然后复制路径--填写到项目。

5、NSDocumentDirectory 是指程序中对应的Documents路径,而NSDocumentionDirectory对应于程序中的Library/Documentation路径,这个路径是没有读写权限的,所以看不到文件生成。

6、stringByAppendingPathComponent 和 stringByAppendingString 的区别:

前者是拼接成一个路径,后者是添加为后缀

例子:NSString *sqlPath = [path stringByAppendingString:@"test.sqlite"];

/Users/rong/Library/Developer/CoreSimulator/Devices/80F6DE9C-E48C-487C-98E3-1753B333FFB7/data/Containers/Data/Application/B4EF58D8-699A-4018-8CD8-8D1A071E85E2/Documentstest.sqlite

NSString *sqlPath = [path stringByAppendingPathComponent:@"test.sqlite"];

/Users/rong/Library/Developer/CoreSimulator/Devices/80F6DE9C-E48C-487C-98E3-1753B333FFB7/data/Containers/Data/Application/8989D025-94F3-40B6-B6D6-D2ED5300FBB9/Documents/test.sqlite

7、const 和 #define的区别(参考一下链接):http://mp.weixin.qq.com/s__biz=MzAxMzQ3NzQ3Nw==&mid=406399975&idx=2&sn=1119af5fa2583798a435b839da372e03&scene=23&srcid=0324JrMaMfVzsgwoSbvlj8xm#rd

8、const 和 static的区别:对于C/C++语言来讲,const就是只读的意思,只在声明中使用;static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数可见.static const 应该就是上面两者的合集.

9、socket TCP 三次握手 发起链接请求,四次握手结束链接请求

10、关于HTTPS:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file在Info.plist文件中添加NSAppTransportSecurityNSAllowsArbitraryLoads

11、要求:将桌面下名为Sample_iOS_480x224.mp4的视屏文件分割为m3u8格式的分段媒体文件 操作:       

(1)下载mediafilesegmenter的工具包 ,我所用的Mac OS 10.6.8中并没有包含 mediafilesegmenter 工具,因此需要去苹果的开发网站下载包含此命令的工具包 ,访问http://connect.apple.com,并搜索mediafilesegmenter,下载streamingtools_beta138.dmg  ,下载完成后双击安装即可       

(2)在终端窗口中输入如下命令,执行即可 

 mediafilesegmenter -B ItanoPart -i SamplePartList.m3u8 -t 10  -f /Users/YourName/Desktop/movie /Users/YourName/Desktop/Sample_iOS_480x224.mp4           

 命令中各参数解释如下:              

 -B: 各分段文件名称     

 -i:  分段列表文件名称             

  -t:  各分段时长         

  -f:  输出文件路径              

 /Users/YourName/Desktop/Sample_iOS_480x224.mp4 源文件路径

这样很简单就可以实现本地媒体文件的分割,更多的参数说明,可以参见工具包的联机说明文档(在终端窗口中输入 man mediafilesegmenter)    

 12、流切片(参考链接):  http://blog.csdn.net/sakulafly/article/details/48367871        

13、Could not find Developer Disk Imagexcode版本不支持手机iOS版本,升级Xcode来解决

14、Linux显示行号:使用的命令为:在末行方式下输入命令::set number

不能保存只读文件的解决方法:w! sudo tee &

15、objective-c 中随机数的产生方法 3种:arc4random() 、random()、CCRANDOM_0_1() 

1、随机数的使用    

 1)、arc4random() 比较精确不需要生成随即种子      

 使用方法 :  通过arc4random() 获取0到x-1之间的整数的代码如下:

 int value = arc4random() % x;                

  获取1到x之间的整数的代码如下:                

 int value = (arc4random() % x) + 1;       

 2)、CCRANDOM_0_1() cocos2d中使用 ,范围是[0,1]      

使用方法: float random = CCRANDOM_0_1() * 5; //[0,5]  CCRANDOM_0_1() 取值范围是[0,1]        

3)、random() 需要初始化时设置种子,使用方法:               

 srandom((unsigned int)time(time_t *)NULL); //初始化时,设置下种子就好了。

16、layoutSubviews在以下情况下会被调用:

(1)init初始化不会触发layoutSubviews

(2)addSubview会触发layoutSubviews

(3)设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化(4)滚动一个UIScrollView会触发layoutSubviews

(5)旋转Screen会触发父UIView上的layoutSubviews事件

(6)改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件

17、NSRunLoop是IOS消息机制的处理(参考链接:http://my.oschina.net/u/816791/blog/3875681).

 在timer与table同时执行情况,当拖动table时,runloop进入UITrackingRunLoopModes模式下,不会处理定时事件,此时timer不能处理,所以此时将timer加入到NSRunLoopCommonModes模式(addTimer forMode) Run Loop什么情况下使用:

a. 使用ports 或 input sources 和其他线程通信  // 不了解 

b. 在线程中使用timers   // 如果不启动run loop,timer的事件是不会响应的  

c. 在Cocoa 应用中使用performSelector...方法  // 应该是performSelector...这种方法会启动一个线程并启动run loop吧 

d. 让线程执行一个周期性的任务  // 如果不启动run loop, 线程跑完就可能被系统释放了  注:timer的创建和释放必须在同一线程中。 [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];  此方法会retain timer对象的引用计数 

18、使用断言NSAssert()调试程序错误#define NSAssert(condition, desc)condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息。NSAssert()可以出现在程序的任何一个位置。

19、谷歌浏览器上谷歌的方法: chrome://flags/  QUIC

20、pod update --verbose --no-repo-update

21、Duplicate Symbol链接错的原因总结和解决方法http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=15809

22、显示隐藏文件:defaults write com.apple.finder AppleShowAllFiles YES

不显示隐藏文件:defaults write com.apple.finder AppleShowAllFiles NO

命令运行之后需要重新加载Finder:快捷键option+command+esc,选中Finder,重新启动即可

23、touch README.md //新建一个记录提交操作的文档

git init //初始化本地仓库

git add README.md //添加

git commit -m "first commit"//提交到要地仓库,并写一些注释git remote add origin 

git@github.com:youname/Test.git //连接远程仓库并建了一个名叫:origin的别名git 

push -u origin master //将本地仓库的东西提交到地址是origin的地址,master分支下!

(显示GIF图)[image](http://github.com/rongshutou/iOS-Animation/raw/master/animation.gif)  

24、  ld: -pie can only be used when targeting iOS 4.2 or later    clang: error: linker command failed with exit code 1 (use -v to see invocation)

25、The certificate used to sign "Photo_demo" has either expired or has been revoked. An updated certificate is required to sign and install the application

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容