草庐IT

firebase - 目标具有包含静态框架的传递依赖项 :

coder 2023-07-22 原文

我们已经构建了一个使用 Firebase 的 flutter 模块。它在模拟器中工作正常

现在我们正在尝试将这个 flutter 模块集成到现有的原生 iOS 应用程序中,该应用程序也使用 firebase。 pod 安装有问题

 The 'Pods-App' target has transitive dependencies that include static frameworks: (cloud_firestore, firebase_core, FirebaseDatabase, FirebaseAuth, FirebaseFirestore, FirebaseCore, FirebaseInstanceID, FirebaseFunctions, FirebaseMessaging, and FirebaseStorage)

我们在原生应用的podfile中添加了这一行来集成 flutter_application_path = '/Users/用户名/Documents/MyApp-Flutter' eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), 绑定(bind))

我们按照以下步骤来集成项目 https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

我们在 podfile 中添加了这个标签,解决了 pod 安装问题。但是 ios 构建因 flutterpluginrestraint 而失败

pre_install 执行 |installer| # https://github.com/CocoaPods/CocoaPods/issues/3289 的解决方法 Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} 结束

期望 pod install 需要成功,即使我们包含了 flutter 项目。我不明白如何解决这些依赖关系,尤其是当 flutter 和 native 应用程序都使用相同的模块时。

最佳答案

我遇到了这个问题,现在才设法在我的环境中成功构建。您现在可能已经自己解决了这个问题,但我会把它留给其他有问题的人。

与您类似,当包含静态框架的依赖项时,我在主机应用程序中的 pod install 中收到此错误:

The 'Pods-App' target has transitive dependencies that include static frameworks: (flutter_crashlytics)

我最初尝试使用您在帖子中提到的解决方法来解决此问题。然而,这导致了这个:/image/c4Zik.png

在尝试了互联网上看似所有的解决方案之后,我通过以下步骤获得了成功:

  1. 删除/评论 Podfile 中的传递依赖性解决方法
  2. 删除/评论 use_frameworks!对于 Podfile 中的目标
  3. 此时,我在一项事件中收到来自相应导入语句的错误“No such module 'FlutterPluginRegistrant'”。在出现错误的地方删除这些导入,留下任何依赖它的代码。
  4. 添加 Objective-C 桥接 header 并添加 Flutter.h 和 GeneratedPluginRegistrant.h 的导入。添加后者应该可以纠正最后一步产生的任何错误。
  5. 运行 pod 安装
  6. 构建成功

一些额外的观察:

  • 对我来说,这个问题只出现在基于 Swift 的主机应用程序中。我无法在基于 Objective-C 的项目中使用 Add2App 重现此内容。
  • 将 s.static_framework = true 添加到 FlutterPluginRegistrant.podspec 允许应用程序编译而不会出现任何错误,但这是一个生成的文件,不是永久性的解决方案。据我所知,这是可行的,因为只有静态框架才能链接静态框架依赖项。
  • 我还预先升级到 CocoaPods 1.7.5,我不确定这是否对解决问题有影响。升级之前,我使用的是 1.6.2。
  • Flutter channel /版本:dev v1.8.1

Bridging-Header.h:

#import <CommonCrypto/CommonCrypto.h>
#import <KochavaTracker.h>
#import <Flutter/Flutter.h>
#import <FlutterPluginRegistrant/GeneratedPluginRegistrant.h>

播客文件:

# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'

flutter_application_path = '../ios/flutter_module/'

def shared_pods
    pod 'BiometricAuthentication'
    pod 'SwiftKeychainWrapper'
    pod 'AppDynamicsAgent'
    pod 'ReachabilitySwift'
    pod 'KochavaTrackeriOS'
end

target 'Target1' do
    eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)
    inherit! :search_paths
    shared_pods
end

希望这对您和处于相同情况的其他人有所帮助。我对 CocoaPods 和 iOS 开发不是很有经验,所以我会把额外的猜测留给可以破译根本原因的人。

关于firebase - 目标具有包含静态框架的传递依赖项 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329450/

有关firebase - 目标具有包含静态框架的传递依赖项 :的更多相关文章

  1. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  2. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  3. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  4. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  5. ruby - 检查字符串是否包含散列中的任何键并返回它包含的键的值 - 2

    我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案

  6. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  7. ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL? - 2

    我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些

  8. ruby-on-rails - Rails 3.1 中具有相同形式的多个模型? - 2

    我正在使用Rails3.1并在一个论坛上工作。我有一个名为Topic的模型,每个模型都有许多Post。当用户创建新主题时,他们也应该创建第一个Post。但是,我不确定如何以相同的形式执行此操作。这是我的代码:classTopic:destroyaccepts_nested_attributes_for:postsvalidates_presence_of:titleendclassPost...但这似乎不起作用。有什么想法吗?谢谢! 最佳答案 @Pablo的回答似乎有你需要的一切。但更具体地说...首先改变你View中的这一行对此#

  9. ruby - 在 Ruby 中按名称传递函数 - 2

    如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只

  10. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

随机推荐