如何使用iPhoneXR/XSMAX模拟器进行屏幕适配

Xcode版本:Version 10.0 (10A254a)

新的Xcode运行工程发现会报错:ld: library not found for -lstdc++ 。 这是因为苹果去掉了lstdc++.6.0.9.tbd动态库。

虽然有临时的解决方案:把xcode9里的这个动态库人为复制到xcode10里,但是对于模拟器运行还是报错 

 

我的解决办法:

1.将Other Linker Flags 中的-lstdc++删掉

2.将C++ Standard Library 的值由libstdc++改为libc++

这时运行会有大量C++的报错

3.找到图中圈起来的报错的库  移出工程

再运行报的的我们自己写的代码引用那些库的错

4找到报错的代码 用条件编译

#if RUN_IN_XCODE10_WITHOUT_CPLUS_IN_SIMULATOR//1
#else

        [[HCIAsrRecorderManager sharedRecorder] startRecorder:asrInitConfig andConfig:asrRecogConfig];
        
#endif

然后就可以正常运行了

5.进行 机型判断与适配 

iPhoneXS 和 iPhoneX 屏幕大小一样不需要改动

iPhoneXR 和 iPhoneXSMax 虽然屏幕尺寸不一样 但是代码里面都是 414 * 896

 

在原来的iPhoneX适配基础上加上一句就可以 

原来的
#define IsIphoneX ((((SCREEN_WIDTH == 375) && (SCREEN_HEIGHT_DEVICE_NEW == 812)  )) ? 1 : 0)

现在的
#define IsIphoneX ((((SCREEN_WIDTH == 375) && (SCREEN_HEIGHT_DEVICE_NEW == 812)  ) || \
                    ((SCREEN_WIDTH == 414) && (SCREEN_HEIGHT_DEVICE_NEW == 896)  )) ? 1 : 0)

 

ok 适配结束

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值