最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS 12適配以及問題小記

 更新時間:2018年07月13日 16:54:04   作者:Jsen_Wang  
蘋果官方在上個月推送了iOS12系統(tǒng),作為一名開發(fā)者當(dāng)然要緊跟更新技術(shù),所以下面這篇文章主要給大家介紹了關(guān)于iOS 12適配以及一些問題,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

本文主要給大家介紹了關(guān)于iOS12適配及問題的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧

版本信息

Xcode: Version 10.0 beta (10L176w)
macOS: 10.14 Beta (18A293u)
iOS: 12.0(16A5288q)

問題及解決過程

1,StatusBar內(nèi)部結(jié)構(gòu)改變

現(xiàn)象:crash
crash log:
1,-[_UIStatusBarIdentifier isEqualToString:]: unrecognized selector sent to instance 0x283452820
2,Terminating app due to uncaught exception ‘NSInvalidArgumentException', reason: ‘-[_UIStatusBarIdentifier isEqualToString:]: unrecognized selector sent to instance 0x283452820'

———————————————————————————————

問題代碼和解決方法

+ (NSString *)getIphoneXNetWorkStates { 
 UIApplication *app = [UIApplication sharedApplication];
 id statusBar = [[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"statusBar"];
 id one = [statusBar valueForKeyPath:@"regions"];
 id two = [one valueForKeyPath:@"trailing"];
 NSArray *three = [two valueForKeyPath:@"displayItems"];
 NSString *state = @"無網(wǎng)絡(luò)";
 for (UIView *view in three) {
  //alert: iOS12.0 情況下identifier的變成了類"_UIStatusBarIdentifier"而不是NSString,所以會在調(diào)用“isEqualToString”方法時發(fā)生crash,
  //修改前
//  NSString *identifier = [view valueForKeyPath:@"identifier"];
  //修改后
  NSString *identifier = [[view valueForKeyPath:@"identifier"] description];
  if ([identifier isEqualToString:@"_UIStatusBarWifiItem.signalStrengthDisplayIdentifier"]) {
   id item = [view valueForKeyPath:@"_item"];

   //alert: 這個問題和上邊一樣itemId是_UIStatusBarIdentifier 類型,不是string
   NSString *itemId = [[item valueForKeyPath:@"identifier"] description];
   if ([itemId isEqualToString:@"_UIStatusBarWifiItem"]) {
    state = @"WIFI";
   }
   state = @"不確定";

  } else if ([identifier isEqualToString:@"_UIStatusBarCellularItem.typeDisplayIdentifier"]) {
   UIView *statusBarStringView = [view valueForKeyPath:@"_view"];
   // 4G/3G/E
   state = [statusBarStringView valueForKeyPath:@"text"];
  }

 }
 return state;
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

云龙县| 商丘市| 禹城市| 依安县| 揭西县| 普宁市| 都匀市| 哈密市| 扶余县| 黑河市| 莱州市| 日土县| 翼城县| 延寿县| 黎川县| 浦城县| 安龙县| 义马市| 额济纳旗| 建湖县| 金寨县| 安庆市| 北安市| 尼玛县| 资源县| 邳州市| 新和县| 青海省| 宽城| 临西县| 正阳县| 赞皇县| 兴宁市| 曲周县| 淅川县| 孟村| 平顶山市| 息烽县| 广东省| 友谊县| 龙门县|