【问题标题】:Phonegap-nfc plugin causes build to fail on xcodePhonegap-nfc 插件导致在 xcode 上构建失败
【发布时间】:2023-06-15 01:24:01
【问题描述】:

我正在使用 ionic 5 电容器,我正在尝试让 phonegap-nfc 插件工作。它在 android 上运行良好,但使用 xcode 构建失败。

使用新项目重现的步骤(被询问时选择了 Angular 框架):

ionic start myApp blank --capacitor
cd myApp
ionic build
ionic capacitor add ios
npx cap open ios

它在 xcode 中打开,我可以在模拟器上构建和运行项目就好了。然后我安装 phonegap-nfc 插件:

npm install phonegap-nfc
npm install @ionic-native/nfc
ionic cap sync

当我尝试再次构建时,我收到了 cordovaplugins 的语义问题。 NfcPlugin.m 文件中有 5 个错误提示 'new' 不可用,并注明 'init 已在此处明确标记为不可用。如何解决这个问题?

我的系统的一些版本信息: Xcode 版本:12.5 (12E262) macOS 版本:大苏尔 11.3 节点版本:16.0.0(也尝试使用 10.16.0) npm 版本:7.10.0

Screenshot of xcode errors

【问题讨论】:

    标签: ios xcode ionic-framework phonegap capacitor


    【解决方案1】:

    我会回答我自己的问题,因为我碰巧找到了解决方案。我不知道 xcode 12.5 有什么问题,但是卸载 xcode 12.5 并安装 xcode 11.7 我能够成功构建并扫描 NFC 标签。

    【讨论】:

    • 请不要将此标记为已解决,我想知道为什么这会被破坏,因为我遇到了同样的问题!
    • 我不会将其标记为已解决,因为它更像是解决方法而不是实际解决方案。我也让它与 xcode 12.2 一起工作。我认为对于新的 ios 应用程序,xcode 12.x 需要将应用程序发布到商店。我还没有尝试过 12.2 和 12.5 之间的其他版本。
    • @KrishanPatel 看看github.com/chariotsolutions/phonegap-nfc/pull/451/commits/…。您只需将 new 替换为 alloc