添加sqlflite插件后无法运行Flutter iOS应用

问题描述

当我将sqflite插件https://pub.dev/packages/sqflite)和路径插件https://pub.dev/packages/path添加到项目中时, pod install 命令不再运行。

CocoaPods' output:

[!] Invalid `Podfile` file: Function not implemented @ rb_file_s_symlink - (/Users/jairrillojunior/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.2+1/,/Users/jairrillojunior/Box/IBM - Documents/Flutter/Flutter_sqflite/ios/.symlinks/plugins/sqflite).

 #  from /Users/jairrillojunior/Box/IBM - Documents/Flutter/Flutter_sqflite/ios/Podfile:34
 #  -------------------------------------------
 #
 >    Flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
 #  end
 #  -------------------------------------------

/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.0/lib/cocoapods-core/podfile.rb:318:in `rescue in block in from_ruby'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.0/lib/cocoapods-core/podfile.rb:312:in `block in from_ruby'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.0/lib/cocoapods-core/podfile.rb:50:in `instance_eval'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.0/lib/cocoapods-core/podfile.rb:50:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.0/lib/cocoapods-core/podfile.rb:310:in `new'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.0/lib/cocoapods-core/podfile.rb:310:in `from_ruby'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.10.0/lib/cocoapods-core/podfile.rb:276:in `from_file'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/config.rb:205:in `podfile'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command.rb:160:in `verify_podfile_exists!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command/install.rb:46:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

运行pod安装时出错 在iPhone 11上启动应用程序时出错。

颤抖的医生:

[✓] Flutter (Channel master,1.24.0-4.0.pre.122,on Mac OS X 10.15.6 19G2021 darwin-x64,locale en-BR)
    • Flutter version 1.24.0-4.0.pre.122 at /usr/local/Flutter
    • Framework revision 4aad058a49 (22 minutes ago),2020-10-28 17:02:37 -0400
    • Engine revision 64e6599910
    • Dart version 2.11.0 (build 2.11.0-260.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/jairrillojunior/Library/Android/sdk
    • Platform android-30,build-tools 30.0.0
    • ANDROID_HOME = /Users/jairrillojunior/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.1,Build version 12A7403
    • CocoaPods version 1.10.0

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.50.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.15.1

[✓] Connected device (1 available)
    • iPhone 11 (mobile) • 351AEE81-599C-42E6-bedB-46FD919491D9 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-1 (simulator)

• No issues found!

此外,插件生成的Podfile:

# Uncomment this line to define a global platform for your project
# platform :ios,'9.0'

# CocoaPods analytics sends network stats synchronously affecting Flutter build latency.
ENV['COCOAPODS_disABLE_STATS'] = 'true'

project 'Runner',{
  'Debug' => :debug,'Profile' => :release,'Release' => :release,}

def Flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..','Flutter','Generated.xcconfig'),__FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually,make sure Flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FlutteR_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FlutteR_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig,then run Flutter pub get"
end

require File.expand_path(File.join('packages','Flutter_tools','bin','podhelper'),Flutter_root)

Flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  Flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    Flutter_additional_ios_build_settings(target)
  end
end

解决方法

我会回答我自己的问题。

我自己报告的问题是由于目录名称/位置(可能是名称之间的空格)引起的。

将构建移动到另一个位置(不包含空格)可以正常工作。