常见问题归类整理
一、关于第三方工具提交代码到SVN后,发现总是报告:静态库找不到
原因:静态库在通过第三方工具提交至SVN时,总是被忽略
解决:可以直接利用命令行提交
1.通过命令行,打开静态库所在的路径:~ cd 静态库文件路径
2.如果输入ls,可以查看到静态库.a文件,说明路径打开正确
3.添加静态库文件至SVN:svn add 静态库文件.a
4.如果添加成功则会出现:A (bin) 静态库文件.a
二、创建PCH文件

三、项目中的Info.plist文件

四、Xcode快捷键
1.光标移动
control + F // 前进一格,(向右移一格)
control + B // 后退一格,(向左移一格)
control + P // 前一行
control + N // 后一行
control + A // 移到行首
control + E // 移到行尾
control + K // 剪切当前行光标后面的内容
control + Y // 把刚才剪切的内容粘帖到当前光标后面
2.操作
command + R // 运行
command + B // 编译
3.窗口操作
command + 0 // 隐藏/显示 左边导航栏
command + option + 0 // 隐藏/显示 右边属性栏
shift + command + Y // 隐藏/显示 底部控制台
control + command + 方向键 // 头文件和实现文件中切换
五.字符属性
1.NSFontAttributeName(字体)
该属性所对应的值是一个 UIFont 对象。该属性用于改变一段文本的字体。如果不指定该属性,则默认为12-point Helvetica(Neue)。
2.NSForegroundColorAttributeName(字体颜色)
该属性所对应的值是一个 UIColor 对象。该属性用于指定一段文本的字体颜色。如果不指定该属性,则默认为黑色。
3.NSBackgroundColorAttributeName(字体背景色)
该属性所对应的值是一个 UIColor 对象。该属性用于指定一段文本的背景颜色。如果不指定该属性,则默认无背景色。
4.NSShadowAttributeName(阴影)
该属性所对应的值是一个 NSShadow 对象。默认为 nil。
六、Xcode7中HTTP请求报错
错误日志:Application 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.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil’
原因:iOS9在应用通讯安全策略上进行了升级,已经不再支持http这种不安全的协议
解决:在我们的Info.plist文件中添加两个键值对(字典的形式)
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
七、开机启动画面


八、Xcode7的免证书真机调试
1.准备
1)Xcode更新到7以上
2)Apple ID(能够登录App Store的账号)
2.操作
1)打开xcode ,在菜单栏选择Xcode-Preferences->Account ,左下角有+按钮,此处添加一个Apple ID,也就是App Store的账号


2)账号添加成功后,我们要进行下一步,在accounts列表里就有你添加的账号了

3)点击上图中的“View Details...”,进入该账号的详情界面

4)这个时候需要在项目中选择,如下图

5)按照上图点击“Fix lssue”后,就会来到下图

6)对于需要进行真机测试的设备,你还需要进入到手机“设置”-->"通用"--->"设备管理",点击Apple ID,添加信任即可
截止到这里,你就可以进行真机测试啦,无需其他的,任意一个苹果手机都可以真机调试。
九、有关开发者证书的报错
1.确认一下证书是不是看的证书,如果是发布证书就会有以下这样的提示

2.证书失效了,去开发者中心重新生成一个

3.包标识符与描述文件包含的包标识符不一致,按照它的提示换一下就好了,最好不要点 Fix Issue,点完后 Xcode 会自己生成一个包含统配包标识符的描述文件,并且 Remove 已经生成好的描述文件。会影响整个团队的合作

4.还是描述文件的问题,把发布的描述文件或者是hoc的描述文件当成开发描述文件使用了

5.iPhone上已经装了包标识符一样的 App,删掉App后再运行

6.Xcode7以上版本的无需证书真机调试问题:验证您的帐户是开发者应用证书信任你的设备。打开手机的设置,并导航到通用- >设备管理,然后选择您的开发人员应用证书信任它

十、iOS8调用摄像头的问题
错误日志:
Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.
问题分析:
iOS8在调用系统相机拍照时,会有一两秒的停顿,然后再弹出UIImagePickConroller,IOS7是没有这个问题的。其根本原因不在于系统拍照控制器上面,而是执行presentViewController这个动作本身!我们可以查看下UIViewController这个类,他有一个属性:
1 @property(nonatomic,assign) UIModalPresentationStyle modalPresentationStyle NS_AVAILABLE_IOS(3_2);
那么这个属性是一个枚举值,在iOS7的SDK中,定义如下:
1 typedef NS_ENUM(NSInteger, UIModalPresentationStyle) { 2 UIModalPresentationFullScreen = 0, 3 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_3_2 4 UIModalPresentationPageSheet, 5 UIModalPresentationFormSheet, 6 UIModalPresentationCurrentContext, 7 #endif 8 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0 9 UIModalPresentationCustom, 10 UIModalPresentationNone = -1, 11 #endif 12 };
在iOS8的SDK中,定义如下:
1 typedef NS_ENUM(NSInteger, UIModalPresentationStyle) { 2 UIModalPresentationFullScreen = 0, 3 UIModalPresentationPageSheet NS_ENUM_AVAILABLE_IOS(3_2), 4 UIModalPresentationFormSheet NS_ENUM_AVAILABLE_IOS(3_2), 5 UIModalPresentationCurrentContext NS_ENUM_AVAILABLE_IOS(3_2), 6 UIModalPresentationCustom NS_ENUM_AVAILABLE_IOS(7_0), 7 UIModalPresentationOverFullScreen NS_ENUM_AVAILABLE_IOS(8_0), 8 UIModalPresentationOverCurrentContext NS_ENUM_AVAILABLE_IOS(8_0), 9 UIModalPresentationPopover NS_ENUM_AVAILABLE_IOS(8_0), 10 UIModalPresentationNone NS_ENUM_AVAILABLE_IOS(7_0) = -1, 11 };
我们可以发现在iOS8中多了一个UIModalPresentationOverCurrentContext
解决问题:
在控制器present时需要设置一下属性:
1 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { 2 self.modalPresentationStyle = UIModalPresentationOverCurrentContext; 3 }

浙公网安备 33010602011771号