【问题标题】:FirebaseCrashlytics; Cant build Swift ProjectFirebaseCrashlytics;无法构建 Swift 项目
【发布时间】:2021-03-23 16:36:42
【问题描述】:

我一直在尝试构建一个现有的 xcode 项目,但无济于事。

当我构建它时,它给出了以下错误:

以下是我做过的一些事情:

  1. 将 cocoapods 升级到 1.10.0
  2. 完成pod install
  3. 完成pod update
  4. 已删除派生数据

这些都不起作用。

我的 cocoapods 版本是 1.10.0。

我使用的是 Xcode 版本 11.3 (11C29)

我的 Macos 版本是 macOS Mojave,版本 10.14.6(18G84)

    Here is the Podfile:
    
    # Uncomment this line to define a global platform for your project
    platform :ios, '12.0'
    inhibit_all_warnings!
    
    pod 'SwiftLint'
    
    abstract_target 'Build' do
      use_frameworks!
    
        pod 'PhoneNumberKit'
        pod 'Mixpanel'
        pod 'MGSwipeTableCell', '1.6.8'
        pod 'Firebase'
        pod 'Firebase/Crashlytics'
        pod 'Firebase/Database'
        pod 'Firebase/Core'
        pod 'Firebase/Auth'
        pod 'Firebase/Storage'
        pod 'Firebase/Analytics'
        pod 'Firebase/Messaging'
        pod 'GoogleSignIn', '4.4.0'
        pod 'KeychainSwift', '19.0.0'
        pod 'SwiftyJSON'
        pod 'Alamofire'
        pod 'APAddressBook/Swift'
        pod 'AlamofireImage'
        pod 'NWSTokenView'
        pod 'KDCircularProgress'
        pod 'CryptoSwift'
        pod 'RazzleDazzle'
        pod 'SVProgressHUD', :git => 'https://github.com/SVProgressHUD/SVProgressHUD.git', :branch => 'master'
        pod 'CountryPickerSwift'
        pod 'SnapKit'
        pod 'Branch'
        pod 'PromiseKit/Alamofire'
        pod 'RealmSwift'
        
      target 'AppName' do
        
      end
    
      target 'ShareExtension' do
    
      end
    
        target 'Content Extension' do
    
        end
    
        target 'Notification Extension' do
    
        end
    end
    
    useStatic = true
    def supported_staticlib_pods
        return ['APAddressBook',
                'Alamofire',
                'AlamofireImage',
                'Branch',
                'CountryPickerSwift',
                'Crashlytics',
                'CryptoSwift',
                'SwiftyJSON',
                'Firebase',
                'FirebaseAnalytics',
                'FirebaseAuth',
                'FirebaseCore',
                'FirebaseDatabase',
                'FirebaseDynamicLinks',
                'FirebaseInstanceID',
                'FirebaseMessaging',
                'FirebaseStorage',
                'GTMSessionFetcher',
                'GoogleSignIn',
                'GoogleToolboxForMac',
                'KDCircularProgress',
                'KeychainSwift',
                'MGSwipeTableCell',
                'Mixpanel',
                'NWSTokenView',
                'PromiseKit',
                'Protobuf',
                'RazzleDazzle',
                'SnapKit',
                'leveldb-library',
                'nanopb',
                'Pods-Build-Content Extension',
                'Pods-Build-Notification Extension',
                'Pods-Build-AppName',
                'Pods-Build-ShareExtension']
    end
    
    post_install do |installer|
       require File.expand_path(File.dirname(__FILE__) + "/scripts/improve_pre_main_time_loading.rb")
       if useStatic
         improve_pre_main_time_loading(installer, "Build-AppName", supported_staticlib_pods)
       end
       installer.pods_project.targets.each do |target|
           puts "=== #{target.name}"
           if target.name == "FirebaseAuth"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "FirebaseCore"
               target.build_configurations.each do |config|
                    config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "FirebaseDatabase"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "AppAuth"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "FirebaseMessaging"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "Pods-ShareExtension-FirebaseInstanceID"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "Pods-ShareExtension-FirebaseDynamicLinks"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "Pods-ShareExtension-FirebaseMessaging"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "SVProgressHUD"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "SwiftyJSON"
               target.build_configurations.each do |config|
                   config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS=1']
                   config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
               end
           end
           if target.name == "RazzleDazzle"
             target.build_configurations.each do |config|
               config.build_settings['SWIFT_VERSION'] = '4.0'
             end
           end
       end
    end

如何解决这些错误?

【问题讨论】:

    标签: swift xcode firebase cocoapods crashlytics


    【解决方案1】:

    有关 GoogleUtilities 的某些内容未正确链接。这可能会解决它。

    • pod deintegrate
    • 确保生成的 Xcode 项目的设置 不包括对 GoogleUtilities 或任何其他 pod 的引用。
    • pod install

    【讨论】:

    • 感谢您的回答。请问我该如何执行您指定的第二步?谢谢
    • 在 Xcode 中打开 .xcodeproj 并搜索构建设置,或者更彻底的是使用文本编辑器并搜索 .xcodeproj/project.pbxproj 文件。
    • 顺便说一句,第 2 步可能不是必需的 - 因此您可以先尝试第 1 步和第 3 步,而无需第 2 步。
    猜你喜欢
    • 2020-11-29
    • 2017-11-30
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 2021-11-21
    • 2021-05-25
    • 2021-09-11
    相关资源
    最近更新 更多