Xcode开发小问题集锦

时间:2023-02-12 07:02:07
  • Q:用Xcode 6 创建的工程在iOS 7的设备上运行时上下部均会出现黑色的区域且应用不能全屏运行。

    A:Targets -> General -> App Icons and Launch Images -> Launch Images Source -> 点击Use Asset Catalog -> 选择Images -> Migrate

    R:应该是 Xcode 6 上默认使用的 LaunchScreen.xib 并未能够很好地在 iOS 7 的系统上适应屏幕尺寸。

  • Q:Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something is nil

    A:baseline 的 constraints ,因为 baseline 只有 iOS 8 才有,所以兼容 iOS 7 会崩溃,移除相关constraints即可。

  • Q:集成支付宝 SDK 或者其他第三方 SDK 时提示找不到NSString或者其他NSObject的子类

    A:应该是工程没有引入 Foundation 框架或者编译时某个类没有链接到 Foundation 框架,在报错的类里面#import <Foundation/Foundation.h>

  • Q:在用CoreBluetooth做蓝牙时,如果把设备设为周边设备报此错误:
    Characteristics with cached values must be read-only

    A:在构造Characteristic 时设置了value,当value不是nil时,只能设置为只读状态。

  • Q:Xcode 6中storyboard跳转到Bundle内的xib时界面尺寸大小不能自动适配

    A:怀疑是storyboard和xib的兼容性问题,改用xib跳转则没有适配问题。

  • Q:Attribute Unavailable Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0

    A:解决办法1:修改xib的Builds for为 iOS 8.0 and Later

    A:解决办法2:修改报警告的 UILabel 的Lines为0。

    R:UILabel 使用了Preferred Max Layout Width这个属性造成numberOfLines属性只要不是 1 就会出现这个警告。

  • Xcode 6.3 真机调试不能选择真机提示Ineligible Devices

    A:Product -> Destination 选择你需要的真机设备。

    R:首先有可能是 Xcode 当前版本不再支持当前真机的系统版本,所以先升级真机的系统版本,如果确认版本没有问题,则按照上面的方法手动选择真机。

    1. Q:不能修改“System Roots”钥匙串。
    2. A:直接将.cer文件拖钥匙串界面的登录选项中。
    3. Q:上传 certSigningRequest 文件生成证书时提示:We are unable to upload this Certificate file because it is invalid. Please check the file and try again.
    4. A:用钥匙串导出 certSigningRequest 文件时名字不能留空。