亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

支持Xcode10和適配iPhone XS Max、iPhone XR的方法

2019-10-21 18:39:37
字體:
來源:轉載
供稿:網友

本文介紹了支持Xcode10和適配iPhone XS Max、iPhone XR的方法,分享給大家,具體如下,

Xcode10,適配,iPhoneXSMax,iPhoneXR

目前我們項目已做了Xcode10(swift4.0)和新機型的適配,總結一下遇到的問題和修改的內容,希望幫助到其他人,如果您有不同的看法或遺漏,歡迎指出!

1.第三方庫編譯報錯

如果項目里用到了Mixpanel-swift和SwiftLint,這兩個在Xcode10上會報錯,目前作者已提交新版本分別是2.4.5和0.27.0,更新后即可解決報錯。

2.library not found for - lstdc++.6.0.9

pod工程編譯通過后會進行主工程的編譯,如果依賴了libstdc++.tbd和libstdc++.6.0.9.tbd,就會報這個error,原因是蘋果在XCode10和iOS12中移除了libstdc++這個庫,由libc++這個庫取而代之,蘋果的解釋是libstdc++已經標記為廢棄有5年了,建議大家使用經過了llvm優化過并且全面支持C++11的libc++庫。

臨時的解決方法就是把libstdc++.6.0.9.tbd這個文件導入到Xcode10中,分別放到以下目錄 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/   和 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/  這時編譯可以通過。

但這只是臨時的解決方案,如果你自己的業務模塊使用了libstdc++,那么就把模塊代碼重新調整為依賴libc++,然后重新檢查是否存在問題,重新編譯。如果你引用的第三方廠商提供的sdk中依賴了libstdc++,那么抓緊聯系廠商,要求版本升級。

3.Enum case '...' not found in type '...'

解決好上面兩個報錯,編譯程序時還會顯示這個error,具體場景如下:

PosVisitQuestionType: String {  case text  case textArea = "text_area"  case dropDownList = "drop_down_list"  case radioButton = "radio_button"}let type: PosVisitQuestionType!...switch type {case .text, .textArea:  errorText = NSLocalizedString("Please enter the following options", comment: "")case .dropDownList, .radioButton:  errorText = NSLocalizedString("Click the right button to get current location", comment: "")default:  break}

Xcode10建議每個case 情況下加“?”

Xcode10,適配,iPhoneXSMax,iPhoneXR

原因可能是 type是可選的,所以每個case情況要與type類型保持一致,所以提示加 “?”,可能是Xcode10編譯器更新的原因。

修改的方法是如果確定type會被賦值,那在定義的時候就把“!”去掉,如果不確定type是否有值就按照Xcode提示修改。

4.適配iPhone XS Max、iPhone XR

我們項目在獲取機型等信息用的是DeviceKit這個第三方庫,所以也需要更新一下才能獲取到新機型的信息,最新版是1.8.1。在最新版有這樣一個變量

/// All Face ID Capable Devices  static public var allFaceIDCapableDevices: [Device] {   return [.iPhoneX, .iPhoneXs, .iPhoneXsMax, .iPhoneXr]  }

由于iPhone X、iPhone XS、iPhone XS Max、iPhone XR這些機型的navigationBar高度以及tabBar高度都一致,所以可以用allFaceIDCapableDevices是否包含當前設備,來判斷當前設備是否有“齊劉海”。

示例:

static let faceIDDeviceArray = Device.allFaceIDCapableDevicesstatic let navigationHeight: CGFloat = {    if faceIDDeviceArray.contains(currentDevice) {      return faceIDDeviceNavHeight    } else {      return ordinaryDeviceNavHeight    }  }()

同時DeviceKit中也提供這樣一個方法,運行模擬器的時候調用,也會返回真實的設備名稱

/// Get the real device from a device. If the device is a an iPhone8Plus simulator this function returns .iPhone8Plus (the real device).  /// If the parameter is a real device, this function returns just that passed parameter.  ///  /// - parameter device: A device.  ///  /// - returns: the underlying device If the `device` is a `simulator`,  /// otherwise return the `device`.  public static func realDevice(from device: DeviceKit.Device) -> DeviceKit.Device

示例:

static let currentDevice = Device.realDevice(from: Device())if currentDevice == .iPhoneX {}// 取代以下寫法if Device() == .iPhoneX || Device() == .simulator(.iPhoneX) {}

最后別忘了再切兩張啟動圖,因為iPhone XS和尺寸和iPhone X是一樣的,所以iPhone XS可以忽略

iPhone XR:828px x 1792px

iPhone XS Max: 1242px x 2688px

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美猛少妇色xxxxx| 正在播放欧美视频| 欧美激情一区二区三区久久久| 亚洲精品一区二区三区婷婷月| 欧美色道久久88综合亚洲精品| 国产午夜精品一区二区三区| 日韩在线www| 国产丝袜一区二区三区免费视频| 国模吧一区二区三区| 国产精品久久久久久久美男| 亚洲aⅴ日韩av电影在线观看| 亚洲欧美一区二区三区情侣bbw| 久青草国产97香蕉在线视频| 亚洲第一偷拍网| 久久综合伊人77777尤物| 久久精品99久久久久久久久| 精品国产乱码久久久久久天美| 欧美一区二区三区艳史| 亚洲日本中文字幕| 青青草国产精品一区二区| 91福利视频在线观看| 久久在精品线影院精品国产| 亚洲国产又黄又爽女人高潮的| 久久精品男人天堂| 97精品久久久| 欧美亚洲激情视频| 亚洲深夜福利网站| 国产精品高精视频免费| 4p变态网欧美系列| 91九色国产视频| 欧美精品一区二区免费| 日本精品在线视频| 中文字幕欧美日韩| 欧美视频专区一二在线观看| 久久精品中文字幕电影| 国产精品人成电影| 日韩国产欧美精品在线| 国产区精品视频| 国产精品av网站| 久久久久久高潮国产精品视| 欧美性xxxx极品高清hd直播| 亚洲国产毛片完整版| 精品久久久久久久久中文字幕| 色诱女教师一区二区三区| 国产日韩欧美电影在线观看| 国产午夜精品全部视频播放| 一区二区欧美久久| 国产精品久久一区主播| 欧美成人合集magnet| 色噜噜狠狠色综合网图区| 精品网站999www| 久久久久久久97| 亚洲美女www午夜| 久久精品中文字幕免费mv| 视频在线一区二区| 精品国产乱码久久久久久虫虫漫画| 亚洲精品永久免费| 欧美日韩国产成人| 成人淫片在线看| 欧美xxxx14xxxxx性爽| 国产ts人妖一区二区三区| 亚洲综合一区二区不卡| 91精品国产高清自在线看超| 在线日韩日本国产亚洲| 国产视频欧美视频| 久久成年人免费电影| 色综合老司机第九色激情| 欧美日韩美女视频| 国产精品狼人色视频一区| 精品丝袜一区二区三区| 色爱av美腿丝袜综合粉嫩av| 欧美亚洲视频在线看网址| 黄色一区二区在线观看| 亚洲一区二区三区777| 久久久久久久国产精品| 国产精品美腿一区在线看| 欧美人成在线视频| 亚洲女同精品视频| 高清亚洲成在人网站天堂| 91po在线观看91精品国产性色| 色综合久久悠悠| 懂色av中文一区二区三区天美| 91精品国产91久久久久久最新| 夜夜嗨av一区二区三区四区| 久久精品国产电影| 91色视频在线观看| 欧美激情国产日韩精品一区18| 在线观看国产精品日韩av| 久久久免费精品| 日韩免费观看高清| 97精品欧美一区二区三区| 国产噜噜噜噜噜久久久久久久久| 欧美性猛交xxxxx免费看| 亚洲综合中文字幕在线| 色一区av在线| 日韩在线精品一区| 色系列之999| 91在线高清免费观看| 91久久久久久久一区二区| 国产一区二区三区在线视频| 精品亚洲一区二区三区在线观看| 日韩va亚洲va欧洲va国产| 欧美不卡视频一区发布| 在线性视频日韩欧美| 亚洲香蕉成人av网站在线观看| 欧美尺度大的性做爰视频| 久久久免费av| 国产精品视频自拍| 成人xxxx视频| 欧美精品少妇videofree| 久久久中文字幕| 91久久精品美女| 国产一区二区三区免费视频| 欧美夫妻性视频| 亚洲毛片在线免费观看| 亚洲欧美色图片| 精品电影在线观看| 亚洲欧美国产精品久久久久久久| 亚洲国产成人久久综合一区| 88国产精品欧美一区二区三区| 2019中文字幕免费视频| 亚洲美女在线视频| 日韩一中文字幕| 中文日韩在线观看| 精品视频9999| 中文字幕日韩欧美在线视频| 亚洲第一页在线| 91免费在线视频| 懂色av中文一区二区三区天美| 色婷婷**av毛片一区| 国产精品极品美女粉嫩高清在线| 正在播放亚洲1区| 51久久精品夜色国产麻豆| 久久av红桃一区二区小说| 大桥未久av一区二区三区| 国产欧亚日韩视频| 色婷婷av一区二区三区久久| 亚洲毛片在线免费观看| 在线播放国产一区二区三区| 欧美性xxxxxxx| 日韩免费电影在线观看| 国模视频一区二区| 亚洲精品99久久久久中文字幕| 91精品国产电影| 久久九九热免费视频| 国产精品久久久av久久久| 91精品国产网站| 欧美成年人视频网站| 欧美黑人国产人伦爽爽爽| 欧美人成在线视频| 欧美激情视频一区二区| 亚洲国产欧美一区二区三区同亚洲| 久久精品中文字幕电影| 日本精品一区二区三区在线| 国产成人鲁鲁免费视频a| 国产精品18久久久久久麻辣| 欧美日韩国产综合新一区| 日韩美女毛茸茸| 亚洲va码欧洲m码| 日韩极品精品视频免费观看| 亚洲成人免费在线视频| 98精品国产高清在线xxxx天堂| 日韩久久免费电影| 久久99精品国产99久久6尤物|