因?yàn)樘O果對xcode14做了比較大的更新,把原來的Legacy Build System干掉了,默認(rèn)用新的New Build System,特別一些比較古老的項(xiàng)目,就會出現(xiàn)編譯錯(cuò)誤的問題,而這些錯(cuò)誤很多都是歷史遺留的,比較難發(fā)現(xiàn)問題;
1、pods中的resource bundles要指定team
pod文件最下方增加以下代碼,設(shè)置pod進(jìn)來的第三方自動(dòng)加入team和設(shè)置最低適配版本11.0(xcode14要求適配11.0以上)

2、好不容易項(xiàng)目能成功運(yùn)行了,卻無法打包,報(bào)了一個(gè)莫名的錯(cuò)誤,百度了一圈,也嘗試了網(wǎng)上各種方法,還是archive failed

最后在某個(gè)QQ群里一個(gè)大神提示了下,才解決了問題,原來在xcode13編譯的時(shí)候有可能會增加編譯腳本,或者是前一任增加的編譯腳本,在taget -- build phases 里面出現(xiàn)了最后那個(gè) run Script ,里面是編譯時(shí)運(yùn)行的腳本,把腳本去除,就能成功編譯打包了。

3、因?yàn)槲业捻?xiàng)目里面是有視頻播放,有用到橫屏全屏播放,iOS16出了新API,適配的方法網(wǎng)上有很多,可以自行查找,都能適配成功;不過我適配了iOS16的橫屏,運(yùn)行iOS16以下的機(jī)型,原來適配iOS 15的卻失效了,之前iOS 15的代碼都沒修改,一點(diǎn)都沒動(dòng),就不會橫屏了,后面百度查找了下,項(xiàng)目在xcode14運(yùn)行后,需要增加下方一行代碼,iOS 15之前的橫屏才會生效
解決辦法:在appDelegate中添加
//此方法會在設(shè)備橫豎屏變化的時(shí)候調(diào)用
(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return UIInterfaceOrientationMaskAll;
}
在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
中添加一句代碼
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
}