iOS12 踩坑持续更新

作者: lele8446 | 来源:发表于2018-09-07 16:46 被阅读2416次

iOS12很快就要发布,项目的坑都填好了吗?没有!那还不赶紧填……

  • 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库,那就只能联系服务方修改了

如果你的项目必须依赖C++的相关库,那么可以把Xcode9中的libstdc++相关库文件复制到Xcode10中,这里推荐一篇大神写的干货:
解决Xcode10 library not found for -lstdc++ 找不到问题

  • UIWebView、WKWebView播放视频

iOS12 上UIWebView、WKWebView含有视频,使用系统自带播放器全屏播放返回后,会存在 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,或者自行搜索更多信息,这里提供一篇网文
iOS 无法获取 WiFi 列表?一定是因为你不知道这个框架

相关文章

  • iOS12 踩坑持续更新

    iOS12很快就要发布,项目的坑都填好了吗?没有!那还不赶紧填…… info.plist文件重复 Xcode10编...

  • Xcode10和iOS12踩坑

    Xcode10和iOS12踩坑

  • Xcode10和iOS12适配

    原文Xcode10和iOS12适配Xcode10和iOS12适配(持续更新)适配iPhoneX全系详解,更新Xco...

  • spark踩坑记录(持续更新)

    1、如果在一个spark脚本需要用到某第三方类库,比如pymysql,则需要在集群的所有机器上都安装该类库,否则会...

  • Flutter 踩坑🕳️ 记,持续更新~

    用这个包 agora_rtc_engine之后,IOS模拟器跑不起来了?,报错如下: ? 解决方法:升级一下pod...

  • uniapp踩坑记录--持续更新

    生命周期不生效 下午测了半天,我的生命周期函数onShow不生效,上网查询,貌似是小程序的问题,原因不明,代码如下...

  • iOS13适配

    参考: iOS13 适配踩坑 - 持续更新 iOS 13 适配要点总结 iOS 13 适配要点总结 1、prese...

  • zk学习踩坑

    持续更新中.... 硬件&软件环境 阿里云服务器服务器配置 zk版本 zookeeper-3.4.13 踩坑 本地...

  • Bugly热更新集成及踩坑

    Bugly热更新集成及踩坑

  • better-scroll 遇到的那些坑

    前言 恕我直言,用好 better-scroll 这个插件,比用好vue还难。此篇为本人的踩坑点,持续更新。 1....

网友评论

    本文标题:iOS12 踩坑持续更新

    本文链接:https://www.haomeiwen.com/subject/ltoawftx.html