加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Cocoapods项目设置问题

发布时间:2020-12-14 17:47:47 所属栏目:百科 来源:网络整理
导读:在 Xcode 8中,我的项目设置似乎有问题.问题如下: 添加新Pod时 – 比方说,Pod Firebase – 安装工作,并将必要的文件添加到我的项目中.我可以,做@Import Firebase 一切都很好,到目前为止.但是,只要我引用Firebase API示例:[FirApp configure]; – 一切都还可
在 Xcode 8中,我的项目设置似乎有问题.问题如下:

添加新Pod时 – 比方说,Pod Firebase – 安装工作,并将必要的文件添加到我的项目中.我可以,做@Import Firebase

一切都很好,到目前为止.但是,只要我引用Firebase API示例:[FirApp configure]; – 一切都还可以 – Xcode上的自动完成工作正常,没有任何问题.但是,在构建I时,会遇到编译时问题:

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,构建设置,在Link Libraries with Libraries下

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

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

因此,为了尝试找到根本原因,我创建了一个全新的测试项目,使用Pod安装安装了Pods – 但是我没有必要手动将框架添加到库中 – 它实际上甚至没有列在那里.

测试项目中的所有内容在编译和运行时都运行良好.

这让我相信它在我的项目设置中的某些因素导致了这一点.

我尝试过的事情

>完全删除cocoapods与pod崩解并删除所有
其他痕迹.然后做了一个干净的构建.然后Pod安装
>在链接器标志中添加了-objc

Podfile

# 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.
通过手动将框架添加到链库与库,您将看到它应该编译.但这不是它应该如何运作的.当前项目有一个infoPlist.strings的问题,我没有解决.但该项目正在该州展示该问题.

解决方法

我检查过这个项目,看来你搞砸了方案.

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

所以评论像#use_frameworks!

还使用pod update更新pod

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

如果你不能这样做,请告诉我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读