AppDelegate.swift 中没有这样的模块 'Capacitor'

No such module 'Capacitor' in AppDelegate.swift

我正在 Capacitor 之上开发 Ionic React Project 运行。我添加了 Android 平台,一切都很顺利。现在我正在尝试让我的应用程序在 iOS 中运行(第一次使用 iOS),在添加 ios 平台并在 XCode 中打开我的项目后,我 运行 进入一些问题。

查看错误:

播客文件内容:

任何帮助将不胜感激。谢谢!

如果电容器是一个 Pod,我假设它是因为你已经附加了你的 podfile,

然后将带有版本的Capacitor pod添加到podfile 而且运行pod install 应该可以用,

否则,如果它是外部框架,请确保将其添加到项目中并将其复制到 Target-> BuildPhases-> Link Binary With Libraries Option

直接在 Xcode 中的 iOS 捆绑包中编辑 Podfile 的问题在于,每次构建捆绑包时,您都有可能丢失对 Podfile 所做的更改。

当您 运行 ionic cap add iosionic cap build ios.

时,电容器应该会自动为您构建它

如果没有,您可以尝试删除 IDE 中的 iOS 包(例如 VS Code),然后使用 CLI 再次添加它。

显然 Podfile 会因项目而异,但是使用 Ionic/Capacitor 生成的 Podfile 通常如下所示:

platform :ios, '12.0'
use_frameworks!

# workaround to avoid Xcode caching of Pods that requires
# Product -> Clean Build Folder after new Cordova plugins installed
# Requires CocoaPods 1.6 or newer
install! 'cocoapods', :disable_input_output_paths => true

def capacitor_pods
  pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
  pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
  pod 'CapacitorApp', :path => '../../node_modules/@capacitor/app'
  pod 'CapacitorDevice', :path => '../../node_modules/@capacitor/device'
  pod 'CapacitorGeolocation', :path => '../../node_modules/@capacitor/geolocation'
  pod 'CapacitorHaptics', :path => '../../node_modules/@capacitor/haptics'
  pod 'CapacitorKeyboard', :path => '../../node_modules/@capacitor/keyboard'
  pod 'CapacitorLocalNotifications', :path => '../../node_modules/@capacitor/local-notifications'
  pod 'CapacitorNetwork', :path => '../../node_modules/@capacitor/network'
  pod 'CapacitorStatusBar', :path => '../../node_modules/@capacitor/status-bar'
  pod 'CapacitorStorage', :path => '../../node_modules/@capacitor/storage'
  pod 'CordovaPlugins', :path => '../capacitor-cordova-ios-plugins'
end

target 'App' do
  capacitor_pods
  # Add your Pods here
end

对于任何感兴趣的人,我删除了 ios 文件夹并再次添加了 iOS 平台。在那之后,我使用了这些命令,而不是 运行 'pod install'(我通过这个命令得到了错误):

在项目目录外的常规终端中:

sudo arch -x86_64 gem install ffi

然后在 iOS 文件夹中

arch -x86_64 pod install

执行这些命令后,所有电容器 pods/plugins 都已成功安装。我使用此命令打开应用程序:ionic cap open ios 并收到错误:No module Capacitor found,但无论如何我忽略了此错误和 ran/build XCode 中的应用程序。模拟器成功打开,应用程序 运行 顺利。

我今天遇到了同样的问题。在做了一些研究之后,我终于在 iOS 上完成了我的项目!我正在使用 Angular 版本 9。 我无法 运行 XCode 项目,因为 ionic 不会创建所需的 podfile。 我只是先用 npx 创建了 iOS 应用程序,然后使用 ionic 运行 实时重新加载我的应用程序。 命令如下:

  1. npm install @capacitor/ios
  2. npx cap add ios
  3. ng build(创建 www 目录)
  4. npx cap open ios
  5. ionic capacitor run ios --livereload --external
  6. 运行 来自 XCode 的应用程序,以便在 运行 时间
  7. 期间获取应用程序的日志

(来源:npx and ionic