【问题标题】:How to add Cordova plugins to Xcode project with embedded Cordova WebView?如何使用嵌入式 Cordova WebView 将 Cordova 插件添加到 Xcode 项目?
【发布时间】:2016-10-11 22:40:03
【问题描述】:

我有一个已成功添加 Cordova WebView 的 Xcode iOS 项目。

我偶然发现了他们的教程。 https://cordova.apache.org/docs/en/latest/guide/platforms/ios/webview.html

如何添加插件?


如果我尝试使用 Plugman 建议,我会收到此错误:

plugman install --platform ios --project path/to/my/custom/xcode/project --plugin cordoba-plugin-console

Failed to install 'cordova-plugin-console':CordovaError: The provided path "path/to/my/custom/xcode/project" is not a Cordova iOS project.

当然这是真的。我遵循的说明是将 Web 视图添加到非 Cordova 项目。


我还尝试将插件添加到 Cordova iOS 项目,然后将 config.xml 等从它带到我自己的项目中。

结果是项目将启动,但我在 Xcode 控制台中收到这些错误:

CDVPlugin class CDVFile (pluginName: file) does not exist.

ERROR: Plugin 'File' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.


我尝试将Plugins 文件夹从参考项目引入我的项目。 (具有CDVLogger.h/mCDVFile.h/m 等文件的文件

当我这样做时,我得到构建错误:

重复符号 _kCDVFilesystemURLPrefix 在: /Users/dustinbahr/Library/Developer/Xcode/DerivedData/AudioCapture-hbvwvtednsahtmgofuophnczsnmj/Build/Intermediates/AudioCapture.build/Debug-iphoneos/AudioCapture.build/Objects-normal/arm64/CDVCapture.o /Users/dustinbahr/Library/Developer/Xcode/DerivedData/AudioCapture-hbvwvtednsahtmgofuophnczsnmj/Build/Intermediates/AudioCapture.build/Debug-iphoneos/AudioCapture.build/Objects-normal/arm64/CDVLocalFilesystem.o重复符号_kCDVFilesystemURLPrefix在: /Users/dustinbahr/Library/Developer/Xcode/DerivedData/AudioCapture-hbvwvtednsahtmgofuophnczsnmj/Build/Intermediates/AudioCapture.build/Debug-iphoneos/AudioCapture.build/Objects-normal/arm64/CDVCapture.o /Users/dustinbahr/Library/Developer/Xcode/DerivedData/AudioCapture-hbvwvtednsahtmgofuophnczsnmj/Build/Intermediates/AudioCapture.build/Debug-iphoneos/AudioCapture.build/Objects-normal/arm64/CDVAssetLibraryFilesystem.o 重复符号 _kCDVFilesystemURLPrefix 在: /Users/dustinbahr/Library/Developer/Xcode/DerivedData/AudioCapture-hbvwvtednsahtmgofuophnczsnmj/Build/Intermediates/AudioCapture.build/Debug-iphoneos/AudioCapture.build/Objects-normal/arm64/CDVCapture.o /Users/dustinbahr/Library/Developer/Xcode/DerivedData/AudioCapture-hbvwvtednsahtmgofuophnczsnmj/Build/Intermediates/AudioCapture.build/Debug-iphoneos/AudioCapture.build/Objects-normal/arm64/CDVFile.o ld:架构 arm64 的 6 个重复符号 clang:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)

【问题讨论】:

    标签: ios xcode cordova cordova-plugins


    【解决方案1】:

    您可以使用 cocoapods 将 Cordova 插件添加到您的项目中。创建一个 Podfile 并在其中指定要从 cocoapods 注册表获取的依赖项,请参见此处的示例:https://cocoapods.org/pods/phonegap-ios-template

    至于你得到的duplicate symbol _kCDVFilesystemURLPrefix,解决方案是在常量的声明上:kCDVFilesystemURLPrefix。在CDVFile.h文件中找到kCDVFilesystemURLPrefix的声明,声明为extern

    extern NSString* const kCDVFilesystemURLPrefix;
    

    将某事声明为extern 会告诉编译器类型以及该变量将在其他地方定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 2022-12-20
      • 1970-01-01
      相关资源
      最近更新 更多