jpush / jshare-flutter-plugin

JShare's officially supported Flutter plugin (Android & iOS). 极光分享官方支持的 Flutter 插件(Android & iOS)。
MIT License
24 stars 17 forks source link

[!] The 'Pods-Runner' target has transitive dependencies that include statically linked binaries #9

Closed medz closed 1 year ago

medz commented 4 years ago
Running pod install...                                              2.1s
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 `Flutter`
    -> Fetching podspec for `jshare_flutter_plugin` from
    `.symlinks/plugins/jshare_flutter_plugin/ios`

    Resolving dependencies of `Podfile`
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local
      because checking is only perfomed in repo update
      CDN: trunk Relative path: all_pods_versions_7_7_3.txt exists! Returning
      local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.8.1/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.8.1/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.8.0/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.7.0/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.6.0/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.5.0/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.3.0/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.2.1/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/7/7/3/JShare/1.1.0/JShare.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: all_pods_versions_9_2_f.txt exists! Returning
      local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.2.4/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.2.4/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path:
      Specs/9/2/f/JCore/2.2.4-noidfa/JCore.podspec.json exists! Returning
      local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.2.2/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.2.0/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path:
      Specs/9/2/f/JCore/2.2.0-noidfa/JCore.podspec.json exists! Returning
      local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.1.8/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path:
      Specs/9/2/f/JCore/2.1.8-noidfa/JCore.podspec.json exists! Returning
      local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.1.6/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path:
      Specs/9/2/f/JCore/2.1.6-noidfa/JCore.podspec.json exists! Returning
      local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.1.4/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path:
      Specs/9/2/f/JCore/2.1.4-noidfa/JCore.podspec.json exists! Returning
      local because checking is only perfomed in repo update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.1.2/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.1.1/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.1.0/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.0.2/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.0.1/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/2.0.0/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/1.2.6/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/1.2.5/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/1.2.2/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/1.2.1/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update
      CDN: trunk Relative path: Specs/9/2/f/JCore/1.2.0/JCore.podspec.json
      exists! Returning local because checking is only perfomed in repo
      update

    Comparing resolved specification to the sandbox manifest
      A Flutter
      A JCore
      A JShare
      A jshare_flutter_plugin

    Downloading dependencies

    -> Installing Flutter (1.0.0)

    -> Installing JCore (2.2.4)
      > Copying JCore from
      `/Users/seven/Library/Caches/CocoaPods/Pods/Release/JCore/2.2.4-b0076`
      to `Pods/JCore`

    -> Installing JShare (1.8.1)
      > Copying JShare from
      `/Users/seven/Library/Caches/CocoaPods/Pods/Release/JShare/1.8.1-d1901`
      to `Pods/JShare`

    -> Installing jshare_flutter_plugin (0.0.1)
      - Running pre install hooks
    [!] The 'Pods-Runner' target has transitive dependencies that include
    statically linked binaries:
    (/Users/seven/Desktop/demo/ios/Pods/JShare/libjshare-ios-1.8.1.a)

    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer/xcode/target_validator.rb:84:in `block (2 levels) in
    verify_no_static_framework_transitive_dependencies'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer/xcode/target_validator.rb:74:in `each_key'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer/xcode/target_validator.rb:74:in `block in
    verify_no_static_framework_transitive_dependencies'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer/xcode/target_validator.rb:73:in `each'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer/xcode/target_validator.rb:73:in
    `verify_no_static_framework_transitive_dependencies'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer/xcode/target_validator.rb:38:in `validate!'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer.rb:590:in `validate_targets'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/installer.rb:158:in `install!'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/command/install.rb:52:in `run'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/claide-1.0.3/lib/claide/co
    mmand.rb:334:in `run'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/lib/cocoap
    ods/command.rb:52:in `run'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/gems/cocoapods-1.9.1/bin/pod:55
    :in `<top (required)>'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/bin/pod:23:in `load'
    /usr/local/Cellar/cocoapods/1.9.1/libexec/bin/pod:23:in `<main>'

Exception: Error running pod install
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.4 19E287, locale
    zh-Hans-CN)

[✓] Android toolchain - develop for Android devices (Android SDK version
    29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
[✓] Android Studio (version 3.6)
[✓] VS Code (version 1.45.0)
[!] Proxy Configuration
    ! NO_PROXY is not set
[✓] Connected device (1 available)

! Doctor found issues in 1 category.

经测试,iOS 根本运行不起来,起初是在产品中,出现问题后,用 flutter create 新建一个项目,依赖这个插件,iOS 依旧跑不起来,断在 pod install 步骤!

medz commented 4 years ago

image

hj850113 commented 4 years ago

打开ios的Podfile,末尾添加pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} end

JimmyZDD commented 4 years ago

Undefined symbols for architecture arm64: "_OBJCCLASS$_JSHAREMessage", referenced from: objc-class-ref in JshareFlutterPlugin.o "_OBJCCLASS$_JSHAREService", referenced from: objc-class-ref in JshareFlutterPlugin.o "_OBJCCLASS$_JSHARELaunchConfig", referenced from: objc-class-ref in JshareFlutterPlugin.o ld: symbol(s) not found for architecture arm64