From 8a089c62e9e0b9cf144dea84b6ce6677f2c2c773 Mon Sep 17 00:00:00 2001 From: Chris Bianca Date: Fri, 27 Jan 2017 16:54:36 +0000 Subject: [PATCH 1/2] Create working podspec for Firestack --- Firestack.podspec | 81 ++++++++++++++--------------------------------- 1 file changed, 24 insertions(+), 57 deletions(-) diff --git a/Firestack.podspec b/Firestack.podspec index ac45018..b569fe1 100644 --- a/Firestack.podspec +++ b/Firestack.podspec @@ -1,61 +1,28 @@ require 'json' -package = JSON.parse(File.read('package.json')) -version = package["version"] -repo = package['repository'] -author = package['author'] -all_pods = [ - 'FirebaseAnalytics', 'FirebaseAuth', 'FirebaseRemoteConfig', - 'FirebaseDatabase', 'FirebaseStorage', 'FirebaseInstanceID', - 'GoogleInterchangeUtilities', 'GoogleIPhoneUtilities', - 'GoogleNetworkingUtilities', 'GoogleParsingUtilities', - 'GoogleSymbolUtilities' -] +package = JSON.parse(File.read('package.json')) Pod::Spec.new do |s| - - s.name = "Firestack" - s.version = version - s.summary = "Firestack makes working with Firebase v3 easy" - - s.description = <<-DESC - Wanna integrate firebase into your app using React Native? - DESC - - s.homepage = "http://fullstackreact.com" - - s.license = { :type => "MIT", :file => "LICENSE" } - s.author = { "Ari Lerner" => author } - s.social_media_url = 'http://twitter.com/fullstackio' - - # When using multiple platforms - s.ios.deployment_target = "8.0" - # s.osx.deployment_target = "10.7" - # s.watchos.deployment_target = "2.0" - # s.tvos.deployment_target = "9.0" - - s.source = { :git => repo['url'], :tag => "v#{version}" } - s.public_header_files = "ios/Firestack/*.h" - - s.source_files = 'ios/Firestack/*.{h,m}' - s.preserve_paths = 'README.md', 'package.json', '*.js' - - s.ios.frameworks = [ - 'CFNetwork', 'Security', 'SystemConfiguration' - ] - s.ios.libraries = ['icucore', 'c++', 'sqlite3', 'z'] - - s.xcconfig = { - 'HEADER_SEARCH_PATHS' => [ - "$(inherited)", - "${SRCROOT}/../../React/**", - "${SRCROOT}/../../node_modules/react-native/**" - ].join(' '), - 'FRAMEWORK_SEARCH_PATHS' => [ - "$(inherited)", - "${PODS_ROOT}/Firebase/**", - "${PODS_ROOT}/FirebaseStorage/**", - ].join(' '), - 'OTHER_LDFLAGS' => '$(inherited) -ObjC' - } -end \ No newline at end of file + s.name = "Firestack" + s.version = package["version"] + s.summary = package["description"] + s.description = <<-DESC + Wanna integrate firebase into your app using React Native? + DESC + s.homepage = "http://fullstackreact.com" + s.license = package['license'] + s.author = "Ari Lerner" + s.source = { :git => "https://github.com/fullstackreact/react-native-firestack.git", :tag => "v#{s.version}" } + s.social_media_url = 'http://twitter.com/fullstackio' + s.platform = :ios, "8.0" + s.header_dir = 'ios/Firestack' + s.preserve_paths = 'README.md', 'package.json', '*.js' + s.source_files = 'ios/Firestack/*.{h,m}' + s.dependency 'React' + s.dependency 'Firebase/Auth' + s.dependency 'Firebase/Core' + s.dependency 'Firebase/Database' + s.dependency 'Firebase/Messaging' + s.dependency 'Firebase/RemoteConfig' + s.dependency 'Firebase/Storage' +end From 49947686142932821511f4befe541c70f53a8a57 Mon Sep 17 00:00:00 2001 From: Chris Bianca Date: Fri, 27 Jan 2017 17:00:18 +0000 Subject: [PATCH 2/2] Fix possible NPE in iOS database module --- ios/Firestack/FirestackDatabase.m | 8 ++++++-- package.json | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ios/Firestack/FirestackDatabase.m b/ios/Firestack/FirestackDatabase.m index eb11d89..ac330e7 100644 --- a/ios/Firestack/FirestackDatabase.m +++ b/ios/Firestack/FirestackDatabase.m @@ -491,8 +491,11 @@ - (id) init callback:(RCTResponseSenderBlock) callback) { NSString *key = [self getDBListenerKey:path withModifiers:modifiersString]; + NSArray *listenerKeys; FirestackDBReference *ref = [_dbReferences objectForKey:key]; - if (ref != nil) { + if (ref == nil) { + listenerKeys = @[]; + } else { if (eventName == nil || [eventName isEqualToString:@""]) { [ref cleanup]; [_dbReferences removeObjectForKey:key]; @@ -502,12 +505,13 @@ - (id) init [_dbReferences removeObjectForKey:key]; } } + listenerKeys = [ref listenerKeys]; } callback(@[[NSNull null], @{ @"result": @"success", @"handle": path, @"modifiersString": modifiersString, - @"remainingListeners": [ref listenerKeys], + @"remainingListeners": listenerKeys, }]); } diff --git a/package.json b/package.json index 11c72bf..e081428 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-firestack", - "version": "2.3.3", + "version": "3.0.0-alpha", "author": "Ari Lerner (https://fullstackreact.com)", "description": "A firebase v3 adapter", "main": "index",