invertase / firestore-ios-sdk-frameworks

⚡ Precompiled Firestore iOS SDKs extracted from the Firebase iOS SDK repository release downloads for faster build times.
Apache License 2.0
427 stars 48 forks source link

ios app no longer compiling after what add App Clip project. #76

Closed MitsukoTakeuchi closed 10 months ago

MitsukoTakeuchi commented 10 months ago

I have a previously stable build ios app no longer compiling after what add App Clip project. Of course, I'm also trying to use Firestore in my App Clip project. This Problem is resolved by reverting to pure SDKs. (Of course it's very slow) Does anyone have a solution?

Podfile

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

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

  # Pods for example
 pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.16.0'

end

target 'example-app-clip' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for example-app-clip
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.16.0'

end

Error log

Undefined symbols Linker command failed with exit code 1 (use -v to see invocation)

ld: Undefined symbols:
  _FIRAuthStateDidChangeInternalNotification, referenced from:
      firebase::firestore::credentials::FirebaseAuthCredentialsProvider::FirebaseAuthCredentialsProvider(FIRApp*, id<FIRAuthInterop>) in FirebaseFirestore[arm64][72](firebase_auth_credentials_provider_apple.o)
  _FIRAuthStateDidChangeInternalNotificationAppKey, referenced from:
      ____ZN8firebase9firestore11credentials31FirebaseAuthCredentialsProviderC2EP6FIRAppPU25objcproto14FIRAuthInterop11objc_object_block_invoke in FirebaseFirestore[arm64][72](firebase_auth_credentials_provider_apple.o)
  _FIRAuthStateDidChangeInternalNotificationUIDKey, referenced from:
      ____ZN8firebase9firestore11credentials31FirebaseAuthCredentialsProviderC2EP6FIRAppPU25objcproto14FIRAuthInterop11objc_object_block_invoke in FirebaseFirestore[arm64][72](firebase_auth_credentials_provider_apple.o)
  _FIRIsLoggableLevel, referenced from:
      firebase::firestore::util::LogIsLoggable(firebase::firestore::util::LogLevel) in FirebaseFirestore[arm64][144](log_apple.o)
  _FIRLogBasic, referenced from:
      firebase::firestore::util::(anonymous namespace)::LogMessageV(firebase::firestore::util::LogLevel, NSString*, ...) in FirebaseFirestore[arm64][144](log_apple.o)
  _FIRSetLoggerLevel, referenced from:
      firebase::firestore::util::LogSetLevel(firebase::firestore::util::LogLevel) in FirebaseFirestore[arm64][144](log_apple.o)
      firebase::firestore::util::LogSetLevel(firebase::firestore::util::LogLevel) in FirebaseFirestore[arm64][144](log_apple.o)
  _OBJC_CLASS_$_FIRApp, referenced from:
       in FirebaseFirestore[arm64][74](firebase_metadata_provider_apple.o)
  _OBJC_CLASS_$_FIRComponent, referenced from:
       in FirebaseFirestore[arm64][101](FSTFirestoreComponent.o)
  _OBJC_CLASS_$_FIRComponentType, referenced from:
       in FirebaseFirestore[arm64][85](FIRFirestore.o)
  _OBJC_CLASS_$_FIRDependency, referenced from:
       in FirebaseFirestore[arm64][101](FSTFirestoreComponent.o)
  _deflate, referenced from:
      zlib_compress(grpc_slice_buffer*, grpc_slice_buffer*, int) in gRPC-Core[arm64][389](message_compress.o)
  _deflateEnd, referenced from:
      zlib_compress(grpc_slice_buffer*, grpc_slice_buffer*, int) in gRPC-Core[arm64][389](message_compress.o)
  _deflateInit2_, referenced from:
      zlib_compress(grpc_slice_buffer*, grpc_slice_buffer*, int) in gRPC-Core[arm64][389](message_compress.o)
  _inflate, referenced from:
      zlib_decompress(grpc_slice_buffer*, grpc_slice_buffer*, int) in gRPC-Core[arm64][389](message_compress.o)
  _inflateEnd, referenced from:
      zlib_decompress(grpc_slice_buffer*, grpc_slice_buffer*, int) in gRPC-Core[arm64][389](message_compress.o)
  _inflateInit2_, referenced from:
      zlib_decompress(grpc_slice_buffer*, grpc_slice_buffer*, int) in gRPC-Core[arm64][389](message_compress.o)
  _pb_decode, referenced from:
      firebase::firestore::remote::ByteBufferReader::Read(pb_field_s const*, void*) in FirebaseFirestore[arm64][107](grpc_nanopb.o)
      firebase::firestore::nanopb::StringReader::Read(pb_field_s const*, void*) in FirebaseFirestore[arm64][184](reader.o)
  _pb_encode, referenced from:
      firebase::firestore::nanopb::Writer::Write(pb_field_s const*, void const*) in FirebaseFirestore[arm64][240](writer.o)
  _pb_istream_from_buffer, referenced from:
      firebase::firestore::remote::ByteBufferReader::ByteBufferReader(grpc::ByteBuffer const&) in FirebaseFirestore[arm64][107](grpc_nanopb.o)
      firebase::firestore::nanopb::StringReader::StringReader(unsigned char const*, unsigned long) in FirebaseFirestore[arm64][184](reader.o)
  _pb_release, referenced from:
      firebase::firestore::nanopb::FreeNanopbMessage(pb_field_s const*, void*) in FirebaseFirestore[arm64][158](message.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
mikehardy commented 10 months ago

I don't think there will be a general solution for you - I encourage the use of the native SDKs and using ccache to accelerate your compile, it should work great after the first compile (and can be used in CI environments as well)

Some instructions that are reasonably generic even though they are on the react-native site: https://reactnative.dev/docs/build-speed#use-a-compiler-cache