权限崩溃问题
控制台日志:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.
意思是说:你需要在info.plist文件 添加一个“NSContactsUsageDescription ”的Key,Value添加一个描述。
1,在项目中找到info.plist文件,右击有个 Open As,以Source Code 的形式打开
2,分别复制 以下 Value 和Key,Key 一定不能错,Value 可以随便填写
相机权限描述:
<key>NSCameraUsageDescription</key>
<string>cameraDesciption</string>
通信录:
<key>NSContactsUsageDescription</key>
<string>contactsDesciption</string>
麦克风:
<key>NSMicrophoneUsageDescription</key>
<string>microphoneDesciption</string>
相册:
<key>NSPhotoLibraryUsageDescription</key>
<string>photoLibraryDesciption</string>
eg:其他权限描述,debug 控制台都会有输出的,自行添加就OK
xib和storyboard布局显示问题
使用Xcode8偶然打开了项目中的storyboard文件,然后跑起项目,却发现界面全乱了。或者说界面无法显示等问题。
经过一番探究后,发现Xcode8对xib和storyboard做出了一些修改,在awakeFromNib和viewDidLoad方法中拿自己拖上去的控件的frame均变成了(0, 0, 1000, 1000),若直接在此使用控件frame进行二次修改,如:修改A控件的宽为B控件的一半,则B控件实际当前的宽是1000,就会造成混乱,或者界面无法显示等。解决办法是在使用原控件frame之前调一次layoutIfNeeded方法。
最简单的方法就是在viewDidLoad方法中加入[self.view layoutIfNeeded]。
- (void)viewDidLoad {
[super viewDidLoad];
[self.view layoutIfNeeded]; // 调用此方法
}
控制台输出不相关信息
解决方法:EditScheme -> 左侧Run -> 右侧Arguments -> 下方Environment Variables -> 添加 OS_ACTIVITY_MODE = disable