[英]No such module 'Capacitor' in AppDelegate.swift
對於任何感興趣的人,我刪除了 ios 文件夾並再次添加了 iOS 平台。 之后,我沒有運行' pod install
'(我通過這個命令得到了錯誤),而是使用了這些命令:
在常規終端中,項目目錄外:
sudo arch -x86_64 gem install ffi
然后在 iOS 文件夾中
arch -x86_64 pod install
執行這些命令后,所有電容器組/插件都已成功安裝。 我使用以下命令打開應用程序: ionic cap open ios
並收到錯誤: No module Capacitor found
,但無論如何我忽略了此錯誤並在 XCode 內運行/構建應用程序。模擬器成功打開並且應用程序運行順利。
我今天遇到了同樣的問題。 在做了一些研究之后,我終於讓我的項目在 iOS 上運行。我使用的是 Angular 版本 9。我無法運行 XCode 項目,因為 ionic 不會創建所需的 podfile。 我只是先用 npx 創建了 iOS 應用程序,然后使用 ionic 運行我的應用程序的實時重新加載:命令如下:
npm install @capacitor/ios
npx cap add ios
ng build
(創建 www 目錄)npx cap open ios
ionic capacitor run ios --livereload --external
在 Xcode 中的 iOS 包中直接編輯 Podfile 的問題在於,每次構建包時,您都有可能丟失對 Podfile 所做的更改。
當您運行ionic cap add ios
或ionic 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
如果電容器是一個 Pod,我假設它是因為你已經附加了你的 podfile,
然后將帶有版本的 Capacitor pod 添加到 podfile 並運行pod install
它應該可用,
否則,如果它是一個外部框架,請確保將其添加到項目中並將其復制到Target-> BuildPhases-> Link Binary With Libraries Option
下
我已經生成了一個 IOS 文件夾,所以我刪除了它並運行了以下命令:
npx cap add ios
ionic build ios or ng build
npx cap sync ios
僅在必要時
npx cap open ios
如果你想在你的電容器項目中使用多個方案,我通過將它添加到我的項目的 Podfile 來解決這個問題:
target 'TARGETNAME' do
capacitor_pods
# Add your Pods here
end
它在此處的文檔中
在我的例子中,我在 xcode 中打開了 .xcodeproj 而不是 xcworkspace。一旦我打開了。 xcworkspace 文件,應用構建成功。
兩者之間的區別在這里得到了很好的解釋: https://stackoverflow.com/a/21631534/4868839
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.