【问题标题】:error: SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0, 4.2. (in target 'Starscream')错误:不支持 SWIFT_VERSION '5.0',支持的版本是:3.0、4.0、4.2。 (在目标“红蜘蛛”中)
【发布时间】:2019-10-19 07:31:00
【问题描述】:

重建步骤

$ vue init nativescript-vue/vue-cli-template transport
$ cd transport
$ npm install
$ tns run ios --bundle

日志错误:

error: SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0, 4.2. (in target 'Starscream')
note: Using new build systemnote: Planning buildnote: Constructing build description
** ARCHIVE FAILED **

Mac OS High Sierra 10.13.6 Darwin Aerosol.local 17.7.0 达尔文内核版本 17.7.0:2019 年 2 月 27 日星期三 00:43:23 PST;根:xnu-4570.71.35~1/RELEASE_X86_64 x86_64

节点-v v11.7.0 npm -v 6.9.0 vue -v 3.6.3

我能够创建新应用并在我的 iOS 设备上运行它们,但由于某种原因,过去 1-2 周情况发生了变化。看来我不能再开发 NativeScript 应用程序了。有什么提示吗?

【问题讨论】:

  • 看起来你运行的 Xcode 版本低于 Starscream 的目标版本,你可以将你的 Xcode 版本更新到 10.3,它应该支持 Swift 5。但你可能必须确保你的其他插件支持 Swift 4 或更高版本,我认为 Xcode 10.3 不会支持 Swift 3。因此,您可能需要稍后进行相应调整。

标签: vue.js nativescript archive starscream


【解决方案1】:

如果您在构建时遇到 SWIFT_VERSION 问题,您可以手动配置它,将 PodFile 添加到您的项目 (App_Resources/iOS) 设置您想要的版本,PodFile 中的类似内容应该可以解决您的问题

pre_install 
do |installer|
    installer.analysis_result.specifications.each 
    do |s|
        if s.name == 'Starscream'
            s.swift_version = '4.2'
        end
    end
end

希望对你有帮助

对不起,我弄错了……这是正确的 PodFile

pre_install do |installer|
    installer.analysis_result.specifications.each do |s|
        if s.name == 'Starscream'
            s.swift_version = '4.2'
        end
    end
end

【讨论】:

  • 您好 MCorzo,感谢您的帮助,但我是 CocoaPods 的新手 - 所以按照您的回答,我已经使用您的脚本在 app/App_Resources/iOS 中创建了 Podfile,然后尝试但失败了:$ pod install [! ] 无效的Podfile 文件:语法错误,意外的keyword_do_block,期待输入结束。``
【解决方案2】:

上次我遇到 Swift 版本和 Pod 的问题时,将 cocoapods从 1.6.x 降级到 1.5 解决了这个问题:

    sudo gem uninstall cocoapods
    sudo gem install cocoapods -v 1.5.3

早在 3 月份查看 cocoapods1.6 的发行说明就会发现,这方面发生了一些变化。

虽然错误消息有所不同,但可能值得一试。

【讨论】:

    【解决方案3】:

    我刚刚意识到我不必使用vue init 开始创建本机应用程序,即

    $ vue init nativescript-vue/vue-cli-template transport
    

    但是用tns create完全没有问题,我可以选择vuejs,不用通过vue下载模板

    $ tns create myapp
    

    【讨论】:

      【解决方案4】:

      我执行了一个非常简单的解决方案,效果非常好。

      1. 在 Project Navigator 下单击您要构建的项目。
      2. 点击构建设置 -> 在常规设置窗格中合并。
      3. 从“Swift 语言版本”下的下拉菜单中更改为所需的版本
      4. 再次构建项目。瞧!!!

      Screen shot of the image

      【讨论】:

        猜你喜欢
        • 2019-08-17
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 2016-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-22
        相关资源
        最近更新 更多