Xcode 报错 Cannot assign value of type InterfaceController to type HKWorkoutSessinDelegate

Xcode报错: Cannot assign value of type ‘InterfaceController’ to type ‘HKWorkoutSessinDelegate’
如果你遇到类似错误,并找到这篇文章的话,请自己抽自己一个大嘴巴子😂,这是因为你没有遵循相应的协议.同样对于”value of type ‘InerfaceController’ does not conform to ‘HKWorkoutSessionDelegate’ in assignment” 错误也是因为没有遵循协议.


Xcode 报错 value of type InerfaceController does not conform to HKWorkoutSessionDelegate in assignment

Xcode报错: value of type ‘InerfaceController’ does not conform to ‘HKWorkoutSessionDelegate’ in assignment
如果你遇到类似错误,并找到这篇文章的话,请自己抽自己一个大嘴巴子😂,这是因为你没有遵循相应的协议.同样对于”Cannot assign value of type ‘InterfaceController’ to type ‘HKWorkoutSessinDelegate’” 错误也是因为没有遵循协议.


[UIScreen mainScreen].bounds.size 在iPhone 6和iPhone 6 plus上获取到的尺寸不对

问题

我们使用[UIScreen mainScreen].bounds.size 来获取当前屏幕的尺寸,但是在iPhone 6和iPhone 6 plus上获取到的尺寸不对,仍为4 inch的大小.

解决办法

为iPhone 6和iPhone 6 plus添加相应的启动页面.

  1. 点击images.xcassets,选择LaunchImage,勾选iOS 8.0 and Later.


  1. 为 Retina HD 4.7 and Retina HD 5.5添加对应的启动图片.

注意: 图片的格式要符合要求.具体格式在右边的工具栏中有提示.

原因

个人观点: 为了较旧软件在iPhone 6和iPhone 6 plus上的适配.
在iPhone 6和iPhone 6 plus发布之前开发的软件,苹果会默认在大屏幕上对其进行适配.该选项是为了让xcode能知道使用何种的方式对其进行适配.