iOS12 踩坑持續(xù)更新

iOS12很快就要發(fā)布,項目的坑都填好了嗎?沒有!那還不趕緊填……

  • info.plist文件重復

Xcode10編譯提示Multiple commands produce 'xxx/Info.plist',這是由于項目中存在重復命名的info.plist文件。
解決方式:

.xcworkspace項目: Xcode--File--Workspace Settings--Build System--Legacy Build System
.xcodeproj項目:Xcode--File--Project Settings--Build System--Legacy Build System

info文件重復.png
  • library not found for -l"stdc++.6.0.9"

提示library not found for -l"stdc++.6.0.9"、-l"stdc++.6"、-l"stdc++"等,因為Xcode10不再支持libstdc++,相關的庫文件libstdc++.6.0.9.dylib、libstdc++.6.dylib、libstdc++.dylib、libstdc++.6.0.9.tbd、libstdc++.6.tbd、libstdc++.tbd已從Xcode10中刪除。

解決方式:

  1. TARGETS--Build Phases--Link Binary With Libraries,刪除6.0.9依賴,需要的話對應添加libc++.tdb、libstdc++.tdb
  2. TARGETS--Build Settings--Other Linker Flags,刪除 -l"stdc++.6.0.9"
  3. 如果是第三庫引用了C++6.0.9庫,那就只能聯(lián)系服務方修改了

如果你的項目必須依賴C++的相關庫,那么可以把Xcode9中的libstdc++相關庫文件復制到Xcode10中,這里推薦一篇大神寫的干貨:
解決Xcode10 library not found for -lstdc++ 找不到問題

  • UIWebView、WKWebView播放視頻

iOS12 上UIWebView、WKWebView含有視頻,使用系統(tǒng)自帶播放器全屏播放返回后,會存在 UIStatusBar 隱藏不見的問題。
解決方式:
注冊UIWindowDidBecomeKeyNotification通知,視頻播放完成主window成為KeyWindow的時候重新顯示UIStatusBar。

    //兼容iOS12 播放視頻返回UIStatusBar的隱藏問題
    if (@available(iOS 12.0, *)) {
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(videoFinished:)
                                                     name:UIWindowDidBecomeKeyNotification
                                                   object:self.window];
    }

    //重新顯示UIStatusBar
    - (void)videoFinished:(NSNotification *)notification {
        [[UIApplication sharedApplication]setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
    }
  • CNCopyCurrentNetworkInfo

使用CNCopyCurrentNetworkInfo獲取Wi-Fi名稱:

    + (id)wifiSSID {
        id value = @"";
        NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
        for (NSString *ifnam in ifs) {
            NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
            if (info[@"SSID"]) {
                value = info[@"SSID"];
            }
        }
        if (!value || [value length]==0) {
            NSLog(@"get WiFi SSID Error!!");
        }
        return value;
    }

iOS12之后獲取Wi-Fi信息,需要另外申請證書配置
https://developer.apple.com/documentation/systemconfiguration/1614126-cncopycurrentnetworkinfo

CNCopyCurrentNetworkInfo.png

申請步驟請看關鍵字 NEHotspotHelper,或者自行搜索更多信息,這里提供一篇網(wǎng)文
iOS 無法獲取 WiFi 列表?一定是因為你不知道這個框架

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 因為要結局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細...
    uniapp閱讀 4,873評論 0 12
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 3,212評論 0 3
  • 刪掉重新來一次吧,記得改那個腳本修改 /home/ubuntu/eos/scripts/install_depen...
    盧衍泓閱讀 1,389評論 0 1
  • 你以為的永遠都是你以為,僅以此紀念逝去的青春,人還是要像前看,沒有什么大不了,大不了就是從頭再來。我相信,當我和世...
    吃顆糖就不苦啦閱讀 129評論 0 0
  • 20180528【晨間早讀】 書名:《富蘭克林傳》 作者:沃爾特.艾薩克森(美) 收獲 富蘭克林給女性提供的建議包...
    布丁011閱讀 983評論 0 0

友情鏈接更多精彩內(nèi)容