flutter ios 导入第三方库 就会出现这个错误 不管导入哪个库都一样

来源:6-5 基于StatelessWidget与TextField实现账号和密码输入功能

php_caiji

2024-07-26

Launching lib/main.dart on iPhone 15 Pro Max in debug mode…
Running pod install…
CocoaPods’ output:

Preparing

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)
  Using `ARCHS` setting to build architectures of target `Pods-RunnerTests`: (``)

Fetching external sources
-> Fetching podspec for `Flutter` from `Flutter`
-> Fetching podspec for `shared_preferences_foundation` from `.symlinks/plugins/shared_preferences_foundation/darwin`

Resolving dependencies of `Podfile`
  CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: all_pods_versions_4_2_c.txt exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/3.16.0/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/3.16.0/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/3.13.2/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/3.13.0/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/3.0.0/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/2.10.2/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/2.5/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/2.2.2/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/2.0.0/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/1.22.4/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/1.17.0/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/1.12.1303/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update
  CDN: trunk Relative path: Specs/4/2/c/FlutterMacOS/1.9.102/FlutterMacOS.podspec.json exists! Returning local because checking is only performed in repo update

Comparing resolved specification to the sandbox manifest
  A Flutter
  A shared_preferences_foundation

Downloading dependencies

-> Installing Flutter (1.0.0)

-> Installing shared_preferences_foundation (0.0.1)
  - Running pre install hooks
  - Running pre integrate hooks

Generating Pods project
  - Creating Pods project
  - Installing files into Pods project
    - Adding source files
    - Adding frameworks
    - Adding libraries
    - Adding resources
    - Adding development pod helper files
    - Linking headers
  - Installing Pod Targets
    - Installing target `Flutter` iOS 12.0
    - Installing target `shared_preferences_foundation` iOS 12.0
      - Generating Info.plist file at `Pods/Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist`
      - Generating module map file at `Pods/Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap`
      - Generating umbrella header at `Pods/Target Support Files/shared_preferences_foundation/shared_preferences_foundation-umbrella.h`
      - Generating Info.plist file at `Pods/Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist`
      - Generating dummy source at `Pods/Target Support Files/shared_preferences_foundation/shared_preferences_foundation-dummy.m`
  - Installing Aggregate Targets
    - Installing target `Pods-Runner` iOS 12.0
      - Generating Info.plist file at `Pods/Target Support Files/Pods-Runner/Pods-Runner-Info.plist`
      - Generating module map file at `Pods/Target Support Files/Pods-Runner/Pods-Runner.modulemap`
      - Generating umbrella header at `Pods/Target Support Files/Pods-Runner/Pods-Runner-umbrella.h`
      - Generating dummy source at `Pods/Target Support Files/Pods-Runner/Pods-Runner-dummy.m`
    - Installing target `Pods-RunnerTests` iOS 12.0
      - Generating Info.plist file at `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist`
      - Generating module map file at `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap`
      - Generating umbrella header at `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests-umbrella.h`
      - Generating dummy source at `Pods/Target Support Files/Pods-RunnerTests/Pods-RunnerTests-dummy.m`
  - Generating deterministic UUIDs
  - Stabilizing target UUIDs
  - Running post install hooks
    - Podfile
  - Writing Xcode project file to `Pods/Pods.xcodeproj`
  Cleaning up sandbox directory

Integrating client project
  CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update

――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

### Command

```
/usr/local/bin/pod install --verbose
```

### Report

* What did you do?

* What did you expect to happen?

* What happened instead?


### Stack

```
   CocoaPods : 1.15.2
        Ruby : ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin23]
    RubyGems : 3.0.3.1
        Host : macOS 14.5 (23F79)
       Xcode : 15.4 (15F31d)
         Git : git version 2.39.3 (Apple Git-146)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : trunk - CDN - https://cdn.cocoapods.org/
```

### Plugins

```
cocoapods-deintegrate : 1.0.5
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.1
cocoapods-trunk       : 1.6.0
cocoapods-try         : 1.2.0
```

### Podfile

```ruby
# Uncomment this line to define a global platform for your project
# platform :ios, '12.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__))
  target 'RunnerTests' do
    inherit! :search_paths
  end
end

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

### Error

```
REXML::ParseException - #<TypeError: wrong argument type String (expected Regexp)>
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/source.rb:220:in `scan'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/source.rb:220:in `match'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/parsers/baseparser.rb:227:in `pull_event'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/parsers/baseparser.rb:207:in `pull'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/parsers/treeparser.rb:23:in `parse'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/document.rb:448:in `build'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/document.rb:101:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.24.0/lib/xcodeproj/workspace.rb:83:in `new'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.24.0/lib/xcodeproj/workspace.rb:83:in `from_s'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.24.0/lib/xcodeproj/workspace.rb:66:in `new_from_xcworkspace'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/user_project_integrator.rb:102:in `create_workspace'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/user_project_integrator.rb:71:in `integrate!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:929:in `block in integrate_user_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:925:in `integrate_user_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:185:in `integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:170:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
...
wrong argument type String (expected Regexp)
Line: 1
Position: 38
Last 80 unconsumed characters:
<?xml version="1.0" encoding="UTF-8"?>
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/parsers/treeparser.rb:96:in `rescue in parse'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/parsers/treeparser.rb:21:in `parse'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/document.rb:448:in `build'
/Library/Ruby/Gems/2.6.0/gems/rexml-3.2.9/lib/rexml/document.rb:101:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.24.0/lib/xcodeproj/workspace.rb:83:in `new'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.24.0/lib/xcodeproj/workspace.rb:83:in `from_s'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.24.0/lib/xcodeproj/workspace.rb:66:in `new_from_xcworkspace'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/user_project_integrator.rb:102:in `create_workspace'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/user_project_integrator.rb:71:in `integrate!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:929:in `block in integrate_user_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:925:in `integrate_user_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:185:in `integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:170:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.15.2/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
```

――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=%23%3CTypeError%3A+wrong+argument+type+String+%28expected+Regexp%29%3E%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Frexml-3.2.9%2Flib%2Frexml%2Fsource.rb%3A220%3Ain+%60scan%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Frexml-3.2.9%2Flib%2Frexml%2Fsource.rb%3A220%3Ain+%60match%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Frexml-3.2.9%2Flib%2Frexml%2Fparsers%2Fbaseparser.rb%3A227%3Ain+%60pull_event%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Frexml-3.2.9%2Flib%2Frexml%2Fparsers%2Fbaseparser.rb%3A207%3Ain+%60pull%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Frexml-3.2.9%2Flib%2Frexml%2Fparsers%2Ftreeparser.rb%3A23%3Ain+%60parse%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Frexml-3.2.9%2Flib%2Frexml%2Fdocument.rb%3A448%3Ain+%60build%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Frexml-3.2.9%2Flib%2Frexml%2Fdocument.rb%3A101%3Ain+%60initialize%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fxcodeproj-1.24.0%2Flib%2Fxcodeproj%2Fworkspace.rb%3A83%3Ain+%60new%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fxcodeproj-1.24.0%2Flib%2Fxcodeproj%2Fworkspace.rb%3A83%3Ain+%60from_s%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fxcodeproj-1.24.0%2Flib%2Fxcodeproj%2Fworkspace.rb%3A66%3Ain+%60new_from_xcworkspace%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Finstaller%2Fuser_project_integrator.rb%3A102%3Ain+%60create_workspace%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Finstaller%2Fuser_project_integrator.rb%3A71%3Ain+%60integrate%21%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Finstaller.rb%3A929%3Ain+%60block+in+integrate_user_project%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Fuser_interface.rb%3A64%3Ain+%60section%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Finstaller.rb%3A925%3Ain+%60integrate_user_project%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Finstaller.rb%3A185%3Ain+%60integrate%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Finstaller.rb%3A170%3Ain+%60install%21%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Fcommand%2Finstall.rb%3A52%3Ain+%60run%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fclaide-1.1.0%2Flib%2Fclaide%2Fcommand.rb%3A334%3Ain+%60run%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Flib%2Fcocoapods%2Fcommand.rb%3A52%3Ain+%60run%27%0A%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fcocoapods-1.15.2%2Fbin%2Fpod%3A55%3Ain+%60%3Ctop+%28required%29%3E%27%0A%2Fusr%2Flocal%2Fbin%2Fpod%3A23%3Ain+%60load%27%0A%2Fusr%2Flocal%2Fbin%2Fpod%3A23%3Ain+%60%3Cmain%3E%27%0A...%0Awrong+argument+type+String+%28expected+Regexp%29%0ALine%3A+1%0APosition%3A+38%0ALast+80+unconsumed+characters%3A%0A%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

Looking for related issues on cocoapods/cocoapods...

Error output from CocoaPods:

Searching for inspections failed: undefined method `map’ for nil:NilClass

[!] Automatically assigning platform `iOS` with version `12.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Error running pod install
Error launching application on iPhone 15 Pro Max.

写回答

1回答

CrazyCodeBoy

2024-07-26

这个错误表明 CocoaPods 在处理你的 Podfile 时遇到了问题,特别是它在尝试执行 `.map` 方法时,遇到了一个 `nil` 对象。这个错误通常是由于 CocoaPods 版本问题、Podfile 配置问题或网络问题引起的。

### 解决步骤

1. **更新 CocoaPods**:
   确保你的 CocoaPods 是最新版本,可以通过以下命令更新:

   ```sh
   sudo gem install cocoapods
   pod repo update
   ```

2. **设置 iOS 平台版本**:
   确保你的 Podfile 中明确指定了 iOS 平台版本。修改 Podfile 添加以下内容:

   ```ruby
   platform :ios, '12.0'

   target 'Runner' do
     use_frameworks!
     use_modular_headers!

     # Pods for Runner

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

   post_install do |installer|
     installer.pods_project.targets.each do |target|
       target.build_configurations.each do |config|
         config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
       end
     end
   end
   ```

3. **清理并重新安装 Pods**:
   尝试清理 CocoaPods 并重新安装:

   ```sh
   cd ios
   rm -rf Podfile.lock Pods
   pod install
   ```

4. **检查网络**:
   确保你的网络连接正常,因为 `pod install` 需要从互联网下载依赖。

5. **验证 Podfile**:
   确保你的 Podfile 语法正确,特别是 `target` 块内的内容。以下是一个简单的 Podfile 示例:

   ```ruby
   platform :ios, '12.0'

   target 'Runner' do
     use_frameworks!
     use_modular_headers!

     # 这里添加你的 Pod 依赖
     pod 'SomeLibrary'

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

   post_install do |installer|
     installer.pods_project.targets.each do |target|
       target.build_configurations.each do |config|
         config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
       end
     end
   end
   ```

6. **升级 Ruby**:
   有时,旧版本的 Ruby 也会导致 CocoaPods 的问题。你可以尝试升级你的 Ruby 版本:

   ```sh
   brew install ruby
   ```

然后更新终端配置文件(例如 `.bash_profile` 或 `.zshrc`),添加以下内容以使用新安装的 Ruby:

   ```sh
   export PATH="/usr/local/opt/ruby/bin:$PATH"
   ```

执行完这些步骤后,重新启动终端并再次运行 `pod install`。

通过以上步骤,你应该能够解决 CocoaPods 报错的问题,并成功引入第三方库。
0
0

慕课甄选-Flutter零基础极速入门到进阶实战

全新Flutter从入门到进阶,实战仿携程网App

661 学习 · 316 问题

查看课程