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
网友评论