草庐IT

ios - Cocoapods项目设置问题

coder 2023-09-27 原文

我在 Xcode 8 中的项目设置似乎有问题。问题如下:

添加新的 Pod 时 - 比方说,Pod Firebase - 安装有效,并将必要的文件添加到我的项目中。然后我可以执行 @Import Firebase

到目前为止,一切都很好。但是,一旦我引用了 Firebase API 示例:[FirApp configure]; - 一切仍然正常 - Xcode 上的自动完成功能按预期工作并且没有问题。但是,在构建时我会遇到一个编译时问题,其中指出:

Undefined symbols for architecture arm64: "_OBJC_CLASS_$_FIRAppIndexing", referenced from: objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

我能够解决这个问题的唯一方法是在我的项目中手动添加 _FIRAppIndexing.framework,Build settings,在 Link Libraries with Libraries

为此,我只需将框架工作从项目导航器拖放到链接库下的正确部分。

这有时有效;与 Firebase SDK 的其他部分一样,我遇到了运行时崩溃。

因此,为了找到根本原因,我创建了一个全新的测试项目,使用 Pod install 安装了 Pod - 但是我不必添加 framework 手动到图书馆 - 它实际上什至没有在那里列出。

测试项目中的一切在编译和运行时都运行良好。

这让我相信是我的项目设置中的某些东西导致了这种情况。

我尝试过的事情

  • 使用 pod deintegrate 完全删除了 cocoapods 并删除了所有 它的其他痕迹。然后做了一个干净的构建。然后Pod install
  • 将 -objc 添加到链接器标志

播客文件

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

    target 'MyApp' do
      # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
       use_frameworks!

      # Pods for MyApp
        pod 'Crashlytics'
        pod 'AsyncDisplayKit', '>= 2.0'
        pod 'Firebase'
        pod 'Firebase/Messaging'
        pod 'FBSDKCoreKit'
        pod "HockeySDK", :subspecs => ['AllFeaturesLib']
        pod 'Fabric'
        pod 'FirebaseAppIndexing'
        pod 'AFNetworking', '~> 3.0'
        pod '1PasswordExtension', '~> 1.8.4'

  target 'MyAppTests' do
    inherit! :search_paths
    # Pods for testing

  end

end

GitHub 示例项目

https://github.com/TanderZA/MyApp

我复制了我当前的项目 - 并删除了所有文件。问题依然存在。您将看到该项目由于链接器错误而无法编译,并引用了 Firebase AP。 通过手动将框架添加到 Link Libraries with Libraries,您将看到它应该可以编译。但这不是它应该如何工作的。当前项目有一个我没有解决的 infoPlist.strings 问题。但该项目处于演示该问题的状态。

最佳答案

我检查了项目,看来你搞砸了计划。

正确创建一个新方案,然后再次安装 pod,因为项目是 Obj-C,所以您不需要在 podfile 中启用框架。

所以评论像 # use_frameworks!

同时使用 pod update 更新 pod

然后选择新方案并在其中构建项目。

如果您做不到,请告诉我。

关于ios - Cocoapods项目设置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42513899/

有关ios - Cocoapods项目设置问题的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby-openid:执行发现时未设置@socket - 2

    我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass

  3. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  4. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  5. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  6. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  7. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  8. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  9. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  10. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

随机推荐