XCode14 & iOS16 适配问题汇总

1、不升级电脑系统与 Xcode,调试iOS 16

  • 1、下载iOS16 Support文件
  • 2、放置到Xcode DeviceSupport目录重启Xcode即可/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

2、iOS16手机开启开发者模式

iOS16手机未打开开发者模式时:
1、Xcode 无法选中 iOS16的设备,报错:developer mode disable
2、无法打开升级前编译的App

解决办法:打开调试手机-设置-隐私与安全-开发者模式-开启开发者模式(需要重启手机)

3、Pod工程中的Bundle target签名报错

  • 方法一:手动选择Pod工程中的Bundle target 签名中的Team,与主工程一致
  • 方法二:在Podfile脚本中设置你的开发者的Team ID
post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings["DEVELOPMENT_TEAM"] = "Your Team ID"
         end
    end
  end
end
  • 方法三:在Podfile脚本中设置CODE_SIGN_IDENTITY为空来避免报错,这是目前在用的,也是最简单的方法
    post_install do |installer|
      installer.generated_projects.each do |project|
        project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['CODE_SIGN_IDENTITY'] = ''
             end
        end
      end
    end
    

4、iOS16 横竖屏切换适配

5、Xcode14运行项目在模拟器上报如下错误:

Thread 1: "[<_UINavigationBarContentViewLayout 0x7fd1a090d730> valueForUndefinedKey:]: this class is not key value coding-compliant for the key inlineTitleView."

打开全局断点就会出现这个报错,虽然不会闪退,但是很影响调试,是Xcode的bug,但是还没有修复,找到两个比较好的办法:

  • 方法一:在全局断点上添加下面的条件
!(BOOL)[(id)[$arg1 reason] containsString:@"_UINavigationBarContentViewLayout"]
  • 方法二:添加下面代码到工程,并在启动之后马上调用
#import 

@interface Xcode14Fixer : NSObject
@end

@implementation Xcode14Fixer

+ (void)load
{
    Class cls = NSClassFromString(@"_UINavigationBarContentViewLayout");
    SEL selector = @selector(valueForUndefinedKey:);
    Method impMethod = class_getInstanceMethod([self class], selector);

    if (impMethod) {
        class_addMethod(cls, selector, method_getImplementation(impMethod), method_getTypeEncoding(impMethod));
    }
}

- (id)valueForUndefinedKey:(NSString *)key
{
    return nil;
}

@end

参考: Xcode 14 Beta 5 throws an exception

6、Xcode14真机运行很慢,报如下错误:

warning: libobjc.A.dylib is being read from process memory. This indicates that LLDB could not find the on-disk shared cache for this device. This will likely reduce debugging performance.

解决办法:应该是Xcode的bug,识别不了正确路径,需要删除等Xcode重新建立路径
rm -r ~/Library/Developer/Xcode/iOS DeviceSupport

7、Xcode14打包 iOS12以下系统运行崩溃问题libswiftCoreGraphics

问题:
更新到xcode14以后,在iOS12以下运行报错dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib
工程报错的话在工程添加:
target -> Build Phases -> Link Binary With Libraries中添加:libswiftCoreGraphics.tbd

xcode14:Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib

下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/12490,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?