我创建了一个具有“ FacebookShare”依赖项的flutter插件。 我的广告连播规格如下:
Pod::Spec.new do |s|
s.name = '{plugin name}'
s.version = '0.0.2'
s.summary = 'A new Flutter plugin for share image and text in social media'
s.description = <<-DESC A new Flutter plugin for share image and text in social media
DESC
s.homepage = 'https://github.com/jayarajm/flutter_share_social_media.git'
s.license = { :file => '../LICENSE' }
s.author = { '...' => '...' }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
s.dependency 'FacebookShare'
s.ios.deployment_target = '8.0'
s.static_framework = true
end
在示例项目中,插件引用了本地路径。因此,我没有安装Pod或运行项目的任何问题。 发布到“ https://pub.dartlang.org/”之后。
我尝试在项目中的dart包中使用,安装pod时遇到问题。我在下面附上了错误,
CocoaPods' output:
↳
Preparing
Analyzing dependencies
Inspecting targets to integrate
Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)
Fetching external sources
-> Fetching podspec for `Flutter` from `.symlinks/flutter/ios`
-> Fetching podspec for `flutter_share_social_media` from `.symlinks/plugins/flutter_share_social_media/ios`
Resolving dependencies of `Podfile`
Comparing resolved specification to the sandbox manifest
A Bolts
A FBSDKCoreKit
A FBSDKShareKit
A FacebookCore
A FacebookShare
A Flutter
A flutter_share_social_media
Downloading dependencies
-> Installing Bolts (1.9.0)
> Copying Bolts from `/Users/jayaraj_m/Library/Caches/CocoaPods/Pods/Release/Bolts/1.9.0-ac656` to `Pods/Bolts`
-> Installing FBSDKCoreKit (4.40.0)
> Copying FBSDKCoreKit from `/Users/jayaraj_m/Library/Caches/CocoaPods/Pods/Release/FBSDKCoreKit/4.40.0-ae214` to `Pods/FBSDKCoreKit`
-> Installing FBSDKShareKit (4.40.0)
> Copying FBSDKShareKit from `/Users/jayaraj_m/Library/Caches/CocoaPods/Pods/Release/FBSDKShareKit/4.40.0-0e459` to `Pods/FBSDKShareKit`
-> Installing FacebookCore (0.5.0)
> Copying FacebookCore from `/Users/jayaraj_m/Library/Caches/CocoaPods/Pods/Release/FacebookCore/0.5.0-74288` to `Pods/FacebookCore`
-> Installing FacebookShare (0.5.0)
> Copying FacebookShare from `/Users/jayaraj_m/Library/Caches/CocoaPods/Pods/Release/FacebookShare/0.5.0-963b4` to `Pods/FacebookShare`
-> Installing Flutter (1.0.0)
-> Installing flutter_share_social_media (0.0.2)
- Running pre install hooks
[!] The following Swift pods cannot yet be integrated as static libraries:
The Swift pod `FacebookCore` depends upon `Bolts` and `FBSDKCoreKit`, which do not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
The Swift pod `FacebookShare` depends upon `Bolts`, `FBSDKCoreKit`, and `FBSDKShareKit`, which do not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
The Swift pod `flutter_share_social_media` depends upon `Bolts`, `FBSDKCoreKit`, and `FBSDKShareKit`, which do not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/installer/xcode/target_validator.rb:135:in `verify_swift_pods_have_module_dependencies'
/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/installer/xcode/target_validator.rb:38:in `validate!'
/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:415:in `validate_targets'
/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/installer.rb:118:in `install!'
/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/command/install.rb:41:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:52:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
Error output from CocoaPods:
↳
[!] `<PBXGroup UUID=`97C146E51CF9000F007C117D`>` attempted to initialize an object with an unknown UUID. `CF3B75C9A7D2FA2A4C99F110` for attribute: `children`. This can be the result of a merge and the unknown UUID is being discarded.
[!] Automatically assigning platform `ios` with version `8.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`.
答案 0 :(得分:0)
我遇到了类似的问题,具有相同的输出 <PBXGroup UUID...
,就我而言,当我运行 pod install --verbose
时,我意识到在 pod install
#Dir:0x00007ff10befa7f0 的未定义方法 `each_child' 你的意思是?每个_切片
在查找此特定错误时,我发现了此 answer,并且我意识到我使用的是 ruby 2.5,而 Flutter 为 iOS 设备生成的一个文件试图使用版本 2.6 中引入的方法。
按照该答案中的步骤操作后,我可以在 iOS 模拟器上运行我的 Flutter 应用程序。
<块引用>方法 dir.each_child
was introduced in Ruby 2.6,但您使用的是 Ruby 2.3.0。
您应该update Ruby到 2.6.0 或更高版本的 2.x 版本。
<块引用>Ruby 更新后,您可能还需要重新启动 IDE 和 re-install cocoapods。