美文网首页
记录一个荒谬的错误

记录一个荒谬的错误

作者: UninhibitedSoul | 来源:发表于2018-10-08 17:56 被阅读16次

    tags: swift 4.2, 日常爬坑

    发现问题

    最近在做类似手机来电响铃且震动功能。在一个网上找到一份封装播放铃声的代码。(这位码农这么小个功能还做了framework 和 pod. 获得了600stars)

    Demo工程在开发时使用的是swift 4.0,而如今我使用的Xcode 10.0, swift 4.2,。
    问题就出在这里,我这个demo工程编译选择的是以前的swift 4.0,然后我个人习惯查看官方文档 (快捷键:command + shift + 0)的版本是swift 4.2的。这就出现了

     var category: AVAudioSession.Category = .ambient 
     ERROR: Type 'AVAudioSession.Category' (aka 'NSString') has no member 'ambient'
     
    

    定位原因

    最后发现是demo工程的swift版本没有选择到最新swift 4.2,导致语法无法识别。

    解决路径

    targets -> [your project] -> build settings -> swift language version -> [select your swift version]

    浪费不少时间解决问题

    -> 怀疑自己语法敲错了
    -> 怀疑是不是iOS系统版本,选到只支持最新iOS 12还是没有解决。
    -> 再次查阅 apple developer document
    -> google
    -> stack overflow
    -> copy 代码到其他工程 尝试
    哎?!!! 其他工程中代码并没有报错
    然后Xcode 工程中build settings 寻找可疑相关设置项
    找到 swift language version
    Bingo!

    相关文章

      网友评论

          本文标题:记录一个荒谬的错误

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