简体   繁体   English

安装 Pod 后 FirebaseUI Pod 的 Xcode 项目构建错误“No known class method for selector 'labelColor'”

[英]Xcode project build error “No known class method for selector 'labelColor'” for FirebaseUI Pod after pod install

I just did a pod install and got my Firebase pods updated我刚刚安装了一个 pod,并更新了我的 Firebase pod

在此处输入图像描述

I need the update to use a new feature from Firebase.我需要更新才能使用 Firebase 的新功能。 But I get the following error when I build my project:但是在构建项目时出现以下错误:

- (void)awakeFromNib {
  [super awakeFromNib];

  if (@available(iOS 13.0, *)) {
    self.textField.textColor = [UIColor labelColor];
    self.label.textColor = [UIColor labelColor];
  }
}

//get the following error: 
No known class method for selector 'labelColor'

在此处输入图像描述

another error here:这里的另一个错误:

  if (@available(iOS 13.0, *)) {
    attributedLinkText = [[NSMutableAttributedString alloc] initWithString:privacyPolicyAndTOSString
                                                                attributes:@{NSForegroundColorAttributeName: [UIColor labelColor]}];
  }
    //get the following error: 
No known class method for selector 'labelColor'

在此处输入图像描述

and the last one here:最后一个:

  if (@available(iOS 13, *)) {
    if (!self.authUI.interactiveDismissEnabled) {
      self.modalInPresentation = YES;
    }
  }
//get the following error: 
Property 'modalInPresentation' not found on object of type 'FUIAuthPickerViewController *'

在此处输入图像描述

if I comment out // these errors then the project gets build with no problem.如果我注释掉//这些错误,那么项目将毫无问题地构建。

Here is my podfile:这是我的播客文件:

# Uncomment the next line to define a global platform for your project

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '11.0'

target 'changelater' do
  # Comment the next line if you don't want to use dynamic frameworks


use_frameworks!

  # Pods for changelater
    pod 'Firebase/Analytics'
    pod 'Firebase/Core'
    pod 'Firebase/Database'
    pod 'FirebaseUI/Auth'
    pod 'Firebase/Firestore'
    pod 'Firebase/Functions'
    pod 'ProgressHUD', '2.51'
    pod 'Kingfisher', '5.7.1'
    pod 'Stripe', '15.0.1'
    pod 'Alamofire', '4.8.2'
  pod 'GooglePlaces', '3.3.0'
  pod 'GoogleMaps', '3.3.0'
  pod 'GooglePlacesSearchController', '0.2.1'
#  pod 'GooglePlacePicker', '6.7.0'

end

and here is my podfile.lock:这是我的 podfile.lock:

PODS:
  - abseil/algorithm (0.20190808):
    - abseil/algorithm/algorithm (= 0.20190808)
    - abseil/algorithm/container (= 0.20190808)
  - abseil/algorithm/algorithm (0.20190808)
  - abseil/algorithm/container (0.20190808):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/meta/type_traits
  - abseil/base (0.20190808):
    - abseil/base/atomic_hook (= 0.20190808)
    - abseil/base/base (= 0.20190808)
    - abseil/base/base_internal (= 0.20190808)
    - abseil/base/bits (= 0.20190808)
    - abseil/base/config (= 0.20190808)
    - abseil/base/core_headers (= 0.20190808)
    - abseil/base/dynamic_annotations (= 0.20190808)
    - abseil/base/endian (= 0.20190808)
    - abseil/base/log_severity (= 0.20190808)
    - abseil/base/malloc_internal (= 0.20190808)
    - abseil/base/pretty_function (= 0.20190808)
    - abseil/base/spinlock_wait (= 0.20190808)
    - abseil/base/throw_delegate (= 0.20190808)
  - abseil/base/atomic_hook (0.20190808)
  - abseil/base/base (0.20190808):
    - abseil/base/atomic_hook
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/dynamic_annotations
    - abseil/base/log_severity
    - abseil/base/spinlock_wait
    - abseil/meta/type_traits
  - abseil/base/base_internal (0.20190808):
    - abseil/meta/type_traits
  - abseil/base/bits (0.20190808):
    - abseil/base/core_headers
  - abseil/base/config (0.20190808)
  - abseil/base/core_headers (0.20190808):
    - abseil/base/config
  - abseil/base/dynamic_annotations (0.20190808)
  - abseil/base/endian (0.20190808):
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/base/log_severity (0.20190808):
    - abseil/base/core_headers
  - abseil/base/malloc_internal (0.20190808):
    - abseil/base/base
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/dynamic_annotations
    - abseil/base/spinlock_wait
  - abseil/base/pretty_function (0.20190808)
  - abseil/base/spinlock_wait (0.20190808):
    - abseil/base/core_headers
  - abseil/base/throw_delegate (0.20190808):
    - abseil/base/base
    - abseil/base/config
  - abseil/memory (0.20190808):
    - abseil/memory/memory (= 0.20190808)
  - abseil/memory/memory (0.20190808):
    - abseil/base/core_headers
    - abseil/meta/type_traits
  - abseil/meta (0.20190808):
    - abseil/meta/type_traits (= 0.20190808)
  - abseil/meta/type_traits (0.20190808):
    - abseil/base/config
  - abseil/numeric/int128 (0.20190808):
    - abseil/base/config
    - abseil/base/core_headers
  - abseil/strings/internal (0.20190808):
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/meta/type_traits
  - abseil/strings/strings (0.20190808):
    - abseil/base/base
    - abseil/base/bits
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/base/endian
    - abseil/base/throw_delegate
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/numeric/int128
    - abseil/strings/internal
  - abseil/time (0.20190808):
    - abseil/time/internal (= 0.20190808)
    - abseil/time/time (= 0.20190808)
  - abseil/time/internal (0.20190808):
    - abseil/time/internal/cctz (= 0.20190808)
  - abseil/time/internal/cctz (0.20190808):
    - abseil/time/internal/cctz/civil_time (= 0.20190808)
    - abseil/time/internal/cctz/includes (= 0.20190808)
    - abseil/time/internal/cctz/time_zone (= 0.20190808)
  - abseil/time/internal/cctz/civil_time (0.20190808)
  - abseil/time/internal/cctz/includes (0.20190808)
  - abseil/time/internal/cctz/time_zone (0.20190808):
    - abseil/time/internal/cctz/civil_time
  - abseil/time/time (0.20190808):
    - abseil/base/base
    - abseil/base/core_headers
    - abseil/numeric/int128
    - abseil/strings/strings
    - abseil/time/internal/cctz/civil_time
    - abseil/time/internal/cctz/time_zone
  - abseil/types (0.20190808):
    - abseil/types/any (= 0.20190808)
    - abseil/types/bad_any_cast (= 0.20190808)
    - abseil/types/bad_any_cast_impl (= 0.20190808)
    - abseil/types/bad_optional_access (= 0.20190808)
    - abseil/types/bad_variant_access (= 0.20190808)
    - abseil/types/compare (= 0.20190808)
    - abseil/types/optional (= 0.20190808)
    - abseil/types/span (= 0.20190808)
    - abseil/types/variant (= 0.20190808)
  - abseil/types/any (0.20190808):
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/types/bad_any_cast
    - abseil/utility/utility
  - abseil/types/bad_any_cast (0.20190808):
    - abseil/base/config
    - abseil/types/bad_any_cast_impl
  - abseil/types/bad_any_cast_impl (0.20190808):
    - abseil/base/base
    - abseil/base/config
  - abseil/types/bad_optional_access (0.20190808):
    - abseil/base/base
    - abseil/base/config
  - abseil/types/bad_variant_access (0.20190808):
    - abseil/base/base
    - abseil/base/config
  - abseil/types/compare (0.20190808):
    - abseil/base/core_headers
    - abseil/meta/type_traits
  - abseil/types/optional (0.20190808):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/memory/memory
    - abseil/meta/type_traits
    - abseil/types/bad_optional_access
    - abseil/utility/utility
  - abseil/types/span (0.20190808):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/base/throw_delegate
    - abseil/meta/type_traits
  - abseil/types/variant (0.20190808):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/base/core_headers
    - abseil/meta/type_traits
    - abseil/types/bad_variant_access
    - abseil/utility/utility
  - abseil/utility/utility (0.20190808):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/meta/type_traits
  - Alamofire (4.8.2)
  - BoringSSL-GRPC (0.0.3):
    - BoringSSL-GRPC/Implementation (= 0.0.3)
    - BoringSSL-GRPC/Interface (= 0.0.3)
  - BoringSSL-GRPC/Implementation (0.0.3):
    - BoringSSL-GRPC/Interface (= 0.0.3)
  - BoringSSL-GRPC/Interface (0.0.3)
  - Firebase/Analytics (6.22.0):
    - Firebase/Core
  - Firebase/Auth (6.22.0):
    - Firebase/CoreOnly
    - FirebaseAuth (~> 6.5.1)
  - Firebase/Core (6.22.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (= 6.4.1)
  - Firebase/CoreOnly (6.22.0):
    - FirebaseCore (= 6.6.6)
  - Firebase/Database (6.22.0):
    - Firebase/CoreOnly
    - FirebaseDatabase (~> 6.1.4)
  - Firebase/Firestore (6.22.0):
    - Firebase/CoreOnly
    - FirebaseFirestore (~> 1.12.0)
  - Firebase/Functions (6.22.0):
    - Firebase/CoreOnly
    - FirebaseFunctions (~> 2.5.1)
  - FirebaseAnalytics (6.4.1):
    - FirebaseCore (~> 6.6)
    - FirebaseInstallations (~> 1.1)
    - GoogleAppMeasurement (= 6.4.1)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
    - GoogleUtilities/MethodSwizzler (~> 6.0)
    - GoogleUtilities/Network (~> 6.0)
    - "GoogleUtilities/NSData+zlib (~> 6.0)"
    - nanopb (= 0.3.9011)
  - FirebaseAuth (6.5.1):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.6)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.5)
    - GoogleUtilities/Environment (~> 6.5)
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseAuthInterop (1.1.0)
  - FirebaseCore (6.6.6):
    - FirebaseCoreDiagnostics (~> 1.2)
    - FirebaseCoreDiagnosticsInterop (~> 1.2)
    - GoogleUtilities/Environment (~> 6.5)
    - GoogleUtilities/Logger (~> 6.5)
  - FirebaseCoreDiagnostics (1.2.3):
    - FirebaseCoreDiagnosticsInterop (~> 1.2)
    - GoogleDataTransportCCTSupport (~> 2.0)
    - GoogleUtilities/Environment (~> 6.5)
    - GoogleUtilities/Logger (~> 6.5)
    - nanopb (~> 0.3.901)
  - FirebaseCoreDiagnosticsInterop (1.2.0)
  - FirebaseDatabase (6.1.4):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
    - leveldb-library (~> 1.22)
  - FirebaseFirestore (1.12.0):
    - abseil/algorithm (= 0.20190808)
    - abseil/base (= 0.20190808)
    - abseil/memory (= 0.20190808)
    - abseil/meta (= 0.20190808)
    - abseil/strings/strings (= 0.20190808)
    - abseil/time (= 0.20190808)
    - abseil/types (= 0.20190808)
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.2)
    - "gRPC-C++ (= 0.0.9)"
    - leveldb-library (~> 1.22)
    - nanopb (~> 0.3.901)
  - FirebaseFunctions (2.5.1):
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.0)
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseInstallations (1.1.1):
    - FirebaseCore (~> 6.6)
    - GoogleUtilities/UserDefaults (~> 6.5)
    - PromisesObjC (~> 1.2)
  - FirebaseUI/Auth (8.4.2):
    - Firebase/Auth (~> 6.0)
    - GoogleUtilities/UserDefaults
  - GoogleAppMeasurement (6.4.1):
    - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
    - GoogleUtilities/MethodSwizzler (~> 6.0)
    - GoogleUtilities/Network (~> 6.0)
    - "GoogleUtilities/NSData+zlib (~> 6.0)"
    - nanopb (= 0.3.9011)
  - GoogleDataTransport (5.1.1)
  - GoogleDataTransportCCTSupport (2.0.2):
    - GoogleDataTransport (~> 5.1)
    - nanopb (~> 0.3.901)
  - GoogleMaps (3.3.0):
    - GoogleMaps/Maps (= 3.3.0)
  - GoogleMaps/Base (3.3.0)
  - GoogleMaps/Maps (3.3.0):
    - GoogleMaps/Base
  - GooglePlaces (3.3.0):
    - GoogleMaps/Base (= 3.3.0)
  - GooglePlacesSearchController (0.2.1)
  - GoogleUtilities/AppDelegateSwizzler (6.5.2):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (6.5.2)
  - GoogleUtilities/Logger (6.5.2):
    - GoogleUtilities/Environment
  - GoogleUtilities/MethodSwizzler (6.5.2):
    - GoogleUtilities/Logger
  - GoogleUtilities/Network (6.5.2):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (6.5.2)"
  - GoogleUtilities/Reachability (6.5.2):
    - GoogleUtilities/Logger
  - GoogleUtilities/UserDefaults (6.5.2):
    - GoogleUtilities/Logger
  - "gRPC-C++ (0.0.9)":
    - "gRPC-C++/Implementation (= 0.0.9)"
    - "gRPC-C++/Interface (= 0.0.9)"
  - "gRPC-C++/Implementation (0.0.9)":
    - "gRPC-C++/Interface (= 0.0.9)"
    - gRPC-Core (= 1.21.0)
    - nanopb (~> 0.3)
  - "gRPC-C++/Interface (0.0.9)"
  - gRPC-Core (1.21.0):
    - gRPC-Core/Implementation (= 1.21.0)
    - gRPC-Core/Interface (= 1.21.0)
  - gRPC-Core/Implementation (1.21.0):
    - BoringSSL-GRPC (= 0.0.3)
    - gRPC-Core/Interface (= 1.21.0)
    - nanopb (~> 0.3)
  - gRPC-Core/Interface (1.21.0)
  - GTMSessionFetcher/Core (1.3.1)
  - Kingfisher (5.7.1)
  - leveldb-library (1.22)
  - nanopb (0.3.9011):
    - nanopb/decode (= 0.3.9011)
    - nanopb/encode (= 0.3.9011)
  - nanopb/decode (0.3.9011)
  - nanopb/encode (0.3.9011)
  - ProgressHUD (2.51)
  - PromisesObjC (1.2.8)
  - Stripe (15.0.1)

DEPENDENCIES:
  - Alamofire (= 4.8.2)
  - Firebase/Analytics
  - Firebase/Core
  - Firebase/Database
  - Firebase/Firestore
  - Firebase/Functions
  - FirebaseUI/Auth
  - GoogleMaps (= 3.3.0)
  - GooglePlaces (= 3.3.0)
  - GooglePlacesSearchController (= 0.2.1)
  - Kingfisher (= 5.7.1)
  - ProgressHUD (= 2.51)
  - Stripe (= 15.0.1)

SPEC REPOS:
  https://github.com/CocoaPods/Specs.git:
    - abseil
    - Alamofire
    - BoringSSL-GRPC
    - Firebase
    - FirebaseAnalytics
    - FirebaseAuth
    - FirebaseAuthInterop
    - FirebaseCore
    - FirebaseCoreDiagnostics
    - FirebaseCoreDiagnosticsInterop
    - FirebaseDatabase
    - FirebaseFirestore
    - FirebaseFunctions
    - FirebaseInstallations
    - FirebaseUI
    - GoogleAppMeasurement
    - GoogleDataTransport
    - GoogleDataTransportCCTSupport
    - GoogleMaps
    - GooglePlaces
    - GooglePlacesSearchController
    - GoogleUtilities
    - "gRPC-C++"
    - gRPC-Core
    - GTMSessionFetcher
    - Kingfisher
    - leveldb-library
    - nanopb
    - ProgressHUD
    - PromisesObjC
    - Stripe

SPEC CHECKSUMS:
  abseil: 18063d773f5366ff8736a050fe035a28f635fd27
  Alamofire: ae5c501addb7afdbb13687d7f2f722c78734c2d3
  BoringSSL-GRPC: db8764df3204ccea016e1c8dd15d9a9ad63ff318
  Firebase: 32f9520684e87c7af3f0704f7f88042626d6b536
  FirebaseAnalytics: 83f822fd0d33a46f49f89b8c3ab16ab4d89df08a
  FirebaseAuth: a6da11d78dfd956b7f7af3222a0f0b1c93ef8fc9
  FirebaseAuthInterop: a0f37ae05833af156e72028f648d313f7e7592e9
  FirebaseCore: 9aca0f1fffb405176ba15311a5621fcde4106fcf
  FirebaseCoreDiagnostics: 13a6564cd6d5375066bbc8940cc1753af24497f3
  FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850
  FirebaseDatabase: 0144e0706a4761f1b0e8679572eba8095ddb59be
  FirebaseFirestore: a750487e2019ac35464c78311dcf2fde9d817c52
  FirebaseFunctions: 5af7c35d1c5e41608fecbb667eb6c4e672e318d0
  FirebaseInstallations: acb3216eb9784d3b1d2d2d635ff74fa892cc0c44
  FirebaseUI: e57e9b9c4340631151fbe67a14206d23d0974f37
  GoogleAppMeasurement: e49be3954045b17d046f271b9cc1ec052bad9702
  GoogleDataTransport: 6ffa4dd0b6d547f8d27b91bd92fa9e197a3f5f1f
  GoogleDataTransportCCTSupport: 12f02e5c8f09c055615de90bcd5ba2c375546051
  GoogleMaps: cfee83da305b9aaeccf92c24ac79df11c3003492
  GooglePlaces: 1e2a87bd9efee9623ee65d44ecc35ebfecd7b13c
  GooglePlacesSearchController: e53b61b7497cf40cb18ec296b1d3314c11c0a1c0
  GoogleUtilities: ad0f3b691c67909d03a3327cc205222ab8f42e0e
  "gRPC-C++": 9dfe7b44821e7b3e44aacad2af29d2c21f7cde83
  gRPC-Core: c9aef9a261a1247e881b18059b84d597293c9947
  GTMSessionFetcher: cea130bbfe5a7edc8d06d3f0d17288c32ffe9925
  Kingfisher: 176d377ad339113c99ad4980cbae687f807e20fe
  leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7
  nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd
  ProgressHUD: 54b4c2fa202bf3da7dddc1c698ae4e6376333bd9
  PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6
  Stripe: 2c4d0a88817361a102886315ff452d90f65e898b

PODFILE CHECKSUM: a8be44df63a4bf0f79ac6c00c8c4a6073aa507c5

COCOAPODS: 1.9.1

Any idea why I am getting this error on build?知道为什么我在构建时收到此错误吗? and How can I fix it?我该如何解决? I have tried many things such as:我尝试了很多事情,例如:

  1. command+shift+k命令+shift+k
  2. pod install --no-repo-update pod install --no-repo-update
  3. pod update吊舱更新

note: my xcode version is 10.3.注意:我的 xcode 版本是 10.3。 It seems like I am getting this error wherever it is about if (@available(iOS 13.0, *)) .似乎我在任何地方都会收到此错误if (@available(iOS 13.0, *)) In my podfile I had to force a version on other pods or else it would have caused more error anywhere related to if (@available(iOS 13.0, *))在我的 podfile 中,我必须在其他 pod 上强制使用一个版本,否则它会在与if (@available(iOS 13.0, *))相关的任何地方导致更多错误

None of these actions working...这些动作都不起作用...

Some iOS 13 features are only available if you use Xcode 11 to build and Xcode 10 doesn't understand them and fail to build.某些 iOS 13 功能只有在您使用 Xcode 11 构建并且 Xcode 10 不理解它们并且无法构建时才可用。

As @jceasarmobile mentioned if your Xcode version is 10, you should update it to the latest one and the build will work smoothly.正如@jceasarmobile 提到的,如果您的 Xcode 版本是 10,您应该将其更新到最新版本,构建将顺利进行。 Otherwise, if you want to stay with your Xcode 10 or Can't upgrade it to 11 or the latest ones, you may want to comment out these parts on the code (all occurrences where the build is failing)否则,如果您想继续使用 Xcode 10 或无法将其升级到 11 或最新版本,您可能需要在代码中注释掉这些部分(所有出现构建失败的情况)

example例子

// if (@available(iOS 13, *)) {
//    if (!self.authUI.interactiveDismissEnabled) {
//      self.modalInPresentation = YES;
//    }
//  }

This should also help you get away from the build failure.这也应该可以帮助您避免构建失败。 Of course, You should follow this only if can't upgrade it to the latest ones.当然,只有在无法将其升级到最新版本时,您才应该遵循这一点。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM