ios - "Editor placeholder in source file"CAPBridge.swift 中的 Swift 编译错误

标签 ios swift xcode capacitor

我正在使用 Ionic/Angular/Capacitor 创建一个应用程序。我的应用程序已经编译和构建良好一段时间了。我能够在 Xcode 模拟以及我的 iPhone 上构建并运行该应用程序。然而,我最近弹出了一个 Xcode 更新的窗口,我下意识地单击了“确定”,而没有太注意我所做的事情。这是多么愚蠢的事情啊!!!现在,我在代码的此区域收到“Swift 编译器错误 - 源文件中的编辑器占位符 - CAPBridge.swift”的电容器构建时错误:

public func modulePrint(_ plugin: CAPPlugin, _ items: Any...) {
    let output = items.map { "\($0)" }.joined(separator: " ")
    CAPLog.print("⚡️ ", plugin.pluginId ?? <#default value#>, "-", output)
  }

在 Xcode 编辑器上,代码的“<#default value#>”部分被替换为灰色框,其中的“默认值”文本带有错误消息“源文件中的编辑器占位符”。我是我不是 Swift 程序员,无法找到现在出现此错误的任何原因,也无法找到修复它的方法。我在电容器论坛上发布了同样的问题。但是,我希望有人会认识到“<#default value#> 语法或了解 Xcode 中最近发生的任何可能导致此类错误的更改。

还有一个观察结果。为了确保这一点,我在尝试再次在 Xcode 模拟器上运行应用程序之前执行了 Clean 操作。当我执行“产品”->“清理构建文件夹”时,清理完成后出现了不同的 Swift 编译器错误。我在 CAPBridge.swift 中收到“没有这样的模块‘Cordova’”。此错误将消失并被“源文件中的编辑器占位符”错误所取代。顺便说一句,我使用的是 Capacitor 而不是 Cordova,并且过去在一切运行良好的情况下从未进行过 Clean 操作。因此,我不确定“No such module 'Cordova'”错误是否一直存在于 Clean 操作中。

以下是运行 ionic info 的输出,以显示我当前的运行环境:

Ionic:

   Ionic CLI                     : 6.12.0 (/Users/francistse/.nvm/versions/node/v10.16.3/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.0.0
   @angular-devkit/build-angular : 0.803.25
   @angular-devkit/schematics    : 8.3.25
   @angular/cli                  : 8.3.25
   @ionic/angular-toolkit        : 2.1.2

Capacitor:

   Capacitor CLI   : 2.4.2
   @capacitor/core : 2.4.2

Cordova:

   Cordova CLI       : 9.0.0 (<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="35565a47515a435418595c57750c1b051b04" rel="noreferrer noopener nofollow">[email protected]</a>)
   Cordova Platforms : none
   Cordova Plugins   : no whitelisted plugins (1 plugins total)

Utility:

   cordova-res (update available: 0.15.2) : 0.15.1
   native-run                             : not installed

System:

   NodeJS : v10.16.3 (/Users/francistse/.nvm/versions/node/v10.16.3/bin/node)
   npm    : 6.14.5
   OS     : macOS Catalina
   Xcode  : Xcode 12.2 Build version 12B5025f

最佳答案

您可以通过替换 <#default value#> 来解决编译器错误与 "n/a" .

关于ios - "Editor placeholder in source file"CAPBridge.swift 中的 Swift 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65082413/

相关文章:

swift - 需要扩展什么协议(protocol)才能允许泛型类型使用 === 运算符? (错误: Binary operator '===' cannot be applied to two 'T' operands)

xcode - 处于 Xcode 断点时没有键盘响应 (Mac)

ios - Xcode 6 无法找到 .pch 文件,尽管它存在

ios - UILabel 更新了文字,但旧的内容还在屏幕上

ios - 如果方向改变,如何设置框架?

ios - 协议(protocol)实现协议(protocol)的默认实现

ios - 无法在 Xcode 6 中构建模块 'Foundation'

iphone - 将 UITextField 添加到cameraOverlay

ios - 如何在 Xcode 7.0 beta 2 中运行 iOS 7.1 模拟器?

swift - 根据值设置 TabBarController 索引的 View Controller