NativeScript / NativeScript/firebase

[@nativescript/firebase-firestore]

オープン
#169 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
TypeScript
スター
62
フォーク
53
平均マージ
8日 4時間
マージ済み PR(30日)
2

説明

I am trying to use the offical native sript firebase and firesore plugins.

I created a plain nativescript angular project and installed

npm install @nativescript/firebase-core 
npm install @nativescript/firebase-firestore

I got this error message :

Pre-downloading: `FirebaseFirestore` from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `9.6.0`
[!] CocoaPods could not find compatible versions for pod "FirebaseFirestore":
  In Podfile:
    FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `9.6.0`)

Specs satisfying the `FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `9.6.0`)` dependency were found, but they required a higher minimum deployment target.

As recommened i added podfile and build.xcconig in App_Resources/ios

IPHONEOS_DEPLOYMENT_TARGET = 11.0;

platform :ios, '11.0'

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
    end
  end
end

this leads to other errors :

Saving metadata generation's stderr stream to: /Users/sjunk/Projects/fb4/platforms/ios/build/Debug-iphonesimulator/metadata-generation-stderr-x86_64.txt
~/Projects/fb4/platforms/ios
ld: warning: dylib (/Users/sjunk/Projects/fb4/platforms/ios/build/Debug-iphonesimulator/TNSWidgets.framework/TNSWidgets) was built for newer iOS Simulator version (12.0) than being linked (11.0)
ld: warning: Could not find or use auto-linked library 'swiftFoundation'
ld: warning: Could not find or use auto-linked library 'swiftCompatibility51'
ld: warning: Could not find or use auto-linked library 'swiftMetal'
ld: warning: Could not find or use auto-linked library 'swiftDarwin'
ld: warning: Could not find or use auto-linked library 'swiftUIKit'
ld: warning: Could not find or use auto-linked library 'swiftCoreData'
ld: warning: Could not find or use auto-linked library 'swiftCore'
ld: warning: Could not find or use auto-linked library 'swiftQuartzCore'
ld: warning: Could not find or use auto-linked library 'swiftos'
ld: warning: Could not find or use auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find or use auto-linked library 'swift_Concurrency'
ld: warning: Could not find or use auto-linked library 'swiftDispatch'
ld: warning: Could not find or use auto-linked library 'swiftObjectiveC'
ld: warning: Could not find or use auto-linked library 'swiftCompatibility50'
ld: warning: Could not find or use auto-linked library 'swiftCoreFoundation'
ld: warning: Could not find or use auto-linked library 'swiftFileProvider'
ld: warning: Could not find or use auto-linked library 'swiftCompatibilityDynamicReplacements'
ld: warning: Could not find or use auto-linked library 'swiftCoreImage'
ld: warning: Could not find or use auto-linked library 'swiftCompatibilityConcurrency'
ld: warning: Could not find or use auto-linked library 'swiftDataDetection'
ld: warning: Could not find or use auto-linked library 'swiftUniformTypeIdentifiers'
Undefined symbols for architecture x86_64:
  "_pb_decode", referenced from:
      firebase::firestore::remote::ByteBufferReader::Read(pb_field_s const*, void*) in FirebaseFirestore(grpc_nanopb.o)
      firebase::firestore::nanopb::StringReader::Read(pb_field_s const*, void*) in FirebaseFirestore(reader.o)
  "_pb_encode", referenced from:
      firebase::firestore::nanopb::Writer::Write(pb_field_s const*, void const*) in FirebaseFirestore(writer.o)
  "_FIRLogBasic", referenced from:
      firebase::firestore::util::(anonymous namespace)::LogMessageV(firebase::firestore::util::LogLevel, NSString*, ...) in FirebaseFirestore(log_apple.o)
  "_FIRIsLoggableLevel", referenced from:
      firebase::firestore::util::LogIsLoggable(firebase::firestore::util::LogLevel) in FirebaseFirestore(log_apple.o)
  "_FIRSetLoggerLevel", referenced from:
      firebase::firestore::util::LogSetLevel(firebase::firestore::util::LogLevel) in FirebaseFirestore(log_apple.o)
  "_FIRAuthStateDidChangeInternalNotificationUIDKey", referenced from:
      ____ZN8firebase9firestore11credentials31FirebaseAuthCredentialsProviderC2EP6FIRAppPU25objcproto14FIRAuthInterop11objc_object_block_invoke in FirebaseFirestore(firebase_auth_credentials_provider_apple.o)
  "_FIRAuthStateDidChangeInternalNotification", referenced from:
      firebase::firestore::credentials::FirebaseAuthCredentialsProvider::FirebaseAuthCredentialsProvider(FIRApp*, id<FIRAuthInterop>) in FirebaseFirestore(firebase_auth_credentials_provider_apple.o)
  "Swift.KeyedEncodingContainer.encode(_: Swift.Int64, forKey: A) throws -> ()", referenced from:
      (extension in FirebaseFirestoreSwift):FirebaseFirestoreSwift.(CodableTimestamp in _1BE1C8AC6174899808A2C5532EFF4699).encode(to: Swift.Encoder) throws -> () in FirebaseFirestoreSwift(Timestamp+Codable.o)
  "Swift.KeyedEncodingContainer.encode(_: Swift.Int32, forKey: A) throws -> ()", referenced from:
      (extension in FirebaseFirestoreSwift):FirebaseFirestoreSwift.(CodableTimestamp in _1BE1C8AC6174899808A2C5532EFF4699).encode(to: Swift.Encoder) throws -> () in FirebaseFirestoreSwift(Timestamp+Codable.o)
  "Swift.KeyedDecodingContainer.decode(_: Swift.Int64.Type, forKey: A) throws -> Swift.Int64", referenced from:
      (extension in FirebaseFirestoreSwift):FirebaseFirestoreSwift.(CodableTimestamp in _1BE1C8AC6174899808A2C5532EFF4699).init(from: Swift.Decoder) throws -> A in FirebaseFirestoreSwift(Timestamp+Codable.o)
  "Foundation.Date._bridgeToObjectiveC() -> __C.NSDate", referenced from:
      static (extension in FirebaseFirestoreSwift):Foundation.Date.unwrap(Foundation.Date) throws -> __C.FIRTimestamp in FirebaseFirestoreSwift(ServerTimestamp.o)
      protocol witness for

Maybe there are some issues with nanopb.

here is my package.json

{
  "name": "fb4",
  "main": "./src/main.ts",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "@angular/animations": "~15.0.0",
    "@angular/common": "~15.0.0",
    "@angular/compiler": "~15.0.0",
    "@angular/core": "~15.0.0",
    "@angular/forms": "~15.0.0",
    "@angular/platform-browser": "~15.0.0",
    "@angular/platform-browser-dynamic": "~15.0.0",
    "@angular/router": "~15.0.0",
    "@nativescript/angular": "~15.0.0",
    "@nativescript/core": "~8.4.0",
    "@nativescript/firebase-core": "^2.5.2",
    "@nativescript/firebase-firestore": "^2.5.2",
    "@nativescript/theme": "~3.0.2",
    "rxjs": "~7.5.0",
    "zone.js": "~0.11.5"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~15.0.0",
    "@angular/compiler-cli": "~15.0.0",
    "@nativescript/ios": "8.3.3",
    "@nativescript/types": "~8.4.0",
    "@nativescript/webpack": "~5.0.12",
    "@ngtools/webpack": "~15.0.0",
    "typescript": "~4.8.4"
  }
}

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

package.json の依存関係と、App_Resources/ios の Podfile および build.xcconfig の設定から iOS ビルドを再現します。まず CocoaPods の deployment-target エラーから始め、次に linker の出力を調べて Firestore、nanopb、Swift のシンボルを確認します。単純な NativeScript Angular プロジェクトが @nativescript/firebase-firestore を使って正常にビルドできれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
ios, typescript
領域
databases, mobile-dev
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。