I'm making use of a old version of the Firebase SDK which tweaked the v2 SDK to allow it to be used in tvOS applications.
This is working well right now but missing out on some additional features that have been added since, also worried using such an old SDK may stop working in the production app in the future.
I'm aware there would be significant changes needed due to the limitations on persistent storage and happy to have data load on launch as it is doing in the current solution. Would love to kick off a discussion around this.
Hi,
i am working on it.
1.) support GoogleToolBoxForMac for tvOS, which should work on my fork:
https://github.com/mariohahn/google-toolbox-for-mac
Pull request for it:
https://github.com/google/google-toolbox-for-mac/pull/139
so I am now able to Run Firebase/Core.
Next I wanted to run Firebase/Database. Here you have leveldb-library as dependency. But I wasn't really able to find a podspec in your Repo, I found it on https://github.com/CocoaPods/Specs/blob/master/Specs/a/d/a/leveldb-library/1.18.3/leveldb-library.podspec.json but you don't even use your own version it's a fork from https://github.com/matehat/leveldb.git.
So I also forked that Repo and wrote my own Podspec:
Pod::Spec.new do |s|
s.name = 'leveldb-library'
s.version = '1.18.3'
s.author = 'The LevelDB Authors'
s.license = 'New BSD'
s.homepage = 'https://github.com/google/leveldb'
s.source = { :git => 'https://github.com/mariohahn/leveldb.git',
:tag => "v1.18.1" }
s.summary = 'A fast key-value storage library'
s.description = <<-DESC
LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
DESC
s.osx.deployment_target = '10.7'
s.ios.deployment_target = '5.0'
s.tvos.deployment_target = '9.0'
s.requires_arc = false
s.header_dir = "leveldb"
s.source_files =
'db/*.{cc}',
'port/*.{cc}',
'table/*.{cc}',
'port/*.{cc}',
'util/*.{cc}',
'include/leveldb/*.h'
s.compiler_flags =
'-DOS_MACOSX',
'-DLEVELDB_PLATFORM_POSIX'
s.preserve_paths =
'db',
'port',
'table',
'util'
s.exclude_files =
'**/*_test.cc',
'**/*_bench.cc',
'port/win'
s.xcconfig = {
'CC' => '"clang"',
'CXX' => '"clang++"',
'HEADER_SEARCH_PATHS' => '"\"${PODS_ROOT}/leveldb-library/\" \"${PODS_ROOT}/leveldb-library/include\""',
'WARNING_CFLAGS' => '"-Wno-shorten-64-to-32"',
'OTHER_LDFLAGS' => '"-lc++"'
}
end
But I am not able to run it successfully :(
Why are you using a fork of your own Product?
Is it even possible to build leveldb-library for tvOS?
Hi Mario,
Thanks for diving in!
As you've noticed, the leveldb-library dependency is somewhat stale and we plan to get it updated. However, we don't expect the stale dependency to cause any issues for Firebase/Database.
What is the build issue you're seeing?
Maybe my podspec isn't correct.
/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/util/coding.cc:5:10: fatal error: 'util/coding.h' file not found
^
1 error generated.
* BUILD FAILED *
The following build commands failed:
CompileC /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/coding.o leveldb-library/util/coding.cc normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
-> leveldb-library (1.18.3)
- WARN | source: The version should be included in the Git tag.
- ERROR | xcodebuild: Returned an unsuccessful exit code.
- NOTE | xcodebuild: leveldb-library/db/builder.cc:5:10: fatal error: 'db/builder.h' file not found
- NOTE | xcodebuild: leveldb-library/table/block_builder.cc:29:10: fatal error: 'table/block_builder.h' file not found
- NOTE | xcodebuild: leveldb-library/util/arena.cc:5:10: fatal error: 'util/arena.h' file not found
- NOTE | xcodebuild: leveldb-library/table/block.cc:7:10: fatal error: 'table/block.h' file not found
- NOTE | xcodebuild: leveldb-library/util/coding.cc:5:10: fatal error: 'util/coding.h' file not found
Analyzed 1 podspec.
It looks like you're running into https://github.com/CocoaPods/CocoaPods/issues/5152 - CocoaPods 1.x currently does not support libraries with C++ headers. The workaround is use the new option --skip-import-validation.
But I am sure that I am doing something wrong because --skip-import-validation is a new com but https://github.com/matehat/leveldb.git created the podspec months ago when the com wasn't even available. But he hasn't committed his podspec 😞
The original podspec was probably validated with CocoaPods 0.x
even with --skip-import-validation it's not working.
CompileC /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/coding.o leveldb-library/util/coding.cc normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/mariohahn/.fastlane/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++11 -stdlib=libc++ -fmodules -fmodules-cache-path=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Wdocumentation -Wunreachable-code -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DPOD_CONFIGURATION_RELEASE=1 -DCOCOAPODS=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.2.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mtvos-simulator-version-min=9.0 -g -Wno-sign-conversion -Winfinite-recursion -Wmove -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-generated-files.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-own-target-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-all-target-headers.hmap -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-project-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library/include -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private/leveldb-library -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public/leveldb-library -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/\" -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/include\" -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources/x86_64 -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources -Wno-shorten-64-to-32 -F/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library -Wincomplete-umbrella -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -fno-objc-arc -include /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Target\ Support\ Files/leveldb-library/leveldb-library-prefix.pch -MMD -MT dependencies -MF /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/coding.d --serialize-diagnostics /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/coding.dia -c /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/util/coding.cc -o /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/coding.o
/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/util/coding.cc:5:10: fatal error: 'util/coding.h' file not found
#include "util/coding.h"
^
1 error generated.
CompileC /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block_builder.o leveldb-library/table/block_builder.cc normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/mariohahn/.fastlane/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++11 -stdlib=libc++ -fmodules -fmodules-cache-path=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Wdocumentation -Wunreachable-code -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DPOD_CONFIGURATION_RELEASE=1 -DCOCOAPODS=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.2.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mtvos-simulator-version-min=9.0 -g -Wno-sign-conversion -Winfinite-recursion -Wmove -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-generated-files.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-own-target-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-all-target-headers.hmap -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-project-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library/include -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private/leveldb-library -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public/leveldb-library -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/\" -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/include\" -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources/x86_64 -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources -Wno-shorten-64-to-32 -F/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library -Wincomplete-umbrella -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -fno-objc-arc -include /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Target\ Support\ Files/leveldb-library/leveldb-library-prefix.pch -MMD -MT dependencies -MF /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block_builder.d --serialize-diagnostics /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block_builder.dia -c /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/table/block_builder.cc -o /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block_builder.o
/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/table/block_builder.cc:29:10: fatal error: 'table/block_builder.h' file not found
#include "table/block_builder.h"
^
CompileC /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block.o leveldb-library/table/block.cc normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/mariohahn/.fastlane/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++11 -stdlib=libc++ -fmodules -fmodules-cache-path=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Wdocumentation -Wunreachable-code -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DPOD_CONFIGURATION_RELEASE=1 -DCOCOAPODS=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.2.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mtvos-simulator-version-min=9.0 -g -Wno-sign-conversion -Winfinite-recursion -Wmove -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-generated-files.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-own-target-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-all-target-headers.hmap -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-project-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library/include -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private/leveldb-library -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public/leveldb-library -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/\" -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/include\" -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources/x86_64 -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources -Wno-shorten-64-to-32 -F/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library -Wincomplete-umbrella -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -fno-objc-arc -include /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Target\ Support\ Files/leveldb-library/leveldb-library-prefix.pch -MMD -MT dependencies -MF /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block.d --serialize-diagnostics /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block.dia -c /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/table/block.cc -o /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/block.o
/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/table/block.cc:7:10: fatal error: 'table/block.h' file not found
#include "table/block.h"
^
CompileC /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/cache.o leveldb-library/util/cache.cc normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/mariohahn/.fastlane/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++11 -stdlib=libc++ -fmodules -fmodules-cache-path=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/mariohahn/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Wdocumentation -Wunreachable-code -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DPOD_CONFIGURATION_RELEASE=1 -DCOCOAPODS=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.2.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mtvos-simulator-version-min=9.0 -g -Wno-sign-conversion -Winfinite-recursion -Wmove -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-generated-files.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-own-target-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-all-target-headers.hmap -iquote /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/leveldb-library-project-headers.hmap -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library/include -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Private/leveldb-library -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public -I/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Headers/Public/leveldb-library -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/\" -I\"/var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/include\" -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources/x86_64 -I/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/DerivedSources -Wno-shorten-64-to-32 -F/Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Products/Release-appletvsimulator/leveldb-library -Wincomplete-umbrella -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -fno-objc-arc -include /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/Target\ Support\ Files/leveldb-library/leveldb-library-prefix.pch -MMD -MT dependencies -MF /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/cache.d --serialize-diagnostics /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/cache.dia -c /var/folders/g1/wmtly35542vbzmmdxg4y3nwc0000gn/T/CocoaPods/Lint/Pods/leveldb-library/util/cache.cc -o /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/cache.o
** BUILD FAILED **
The following build commands failed:
CompileC /Users/mariohahn/Library/Developer/Xcode/DerivedData/App-glcppnhpejkrnwayvgpwyrucoxdv/Build/Intermediates/Pods.build/Release-appletvsimulator/leveldb-library.build/Objects-normal/x86_64/coding.o leveldb-library/util/coding.cc normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
-> leveldb-library (1.18.3)
- WARN | source: The version should be included in the Git tag.
- ERROR | xcodebuild: Returned an unsuccessful exit code.
- NOTE | xcodebuild: leveldb-library/util/coding.cc:5:10: fatal error: 'util/coding.h' file not found
- NOTE | xcodebuild: leveldb-library/table/block.cc:7:10: fatal error: 'table/block.h' file not found
- NOTE | xcodebuild: leveldb-library/table/block_builder.cc:29:10: fatal error: 'table/block_builder.h' file not found
- NOTE | xcodebuild: leveldb-library/util/arena.cc:5:10: fatal error: 'util/arena.h' file not found
- NOTE | xcodebuild: leveldb-library/db/builder.cc:5:10: fatal error: 'db/builder.h' file not found
Analyzed 1 podspec.
It looks like there are extra quotes in the xcconfig above. It runs pod spec lint with only a warning about the version if I replace it with the following:
s.xcconfig = {
'CC' => 'clang',
'CXX' => 'clang++',
'HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/leveldb-library/" "${PODS_ROOT}/leveldb-library/include"',
'WARNING_CFLAGS' => '-Wno-shorten-64-to-32',
'OTHER_LDFLAGS' => '-lc++'
}
Hi! How is tvOS support coming? Was so excited to see the macOS support pushed!
Do you have any progress on tvOS support?
tvOS is not on the near-term Firebase roadmap, but we'd be happy to review and accept PRs if anyone wants to pick up where @mariohahn left off.
Hi! I see there is some activity in https://github.com/firebase/firebase-ios-sdk/tree/tvOS_master branch, does it mean there is a change we're getting tvOS support any time soon?
Unfortunately we really can't promise timelines. Yes there's some work underway but other priorities might come up that halt our progress on it.
As always, PRs welcome :-).
tvOS Community support for Core, Auth, Database and Storage landed in #590 along with a tvOS sample app. See https://github.com/firebase/firebase-ios-sdk#community-supported-efforts.
WOW. Can't wait to see Remote config for tvOS...
On Wed, Jan 3, 2018 at 3:15 PM, Paul Beusterien notifications@github.com
wrote:
tvOS Community support for Core, Auth, Database and Storage landed in #590
https://github.com/firebase/firebase-ios-sdk/pull/590 along with a tvOS
sample app. See https://github.com/firebase/firebase-ios-sdk#community-
supported-efforts.—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/firebase/firebase-ios-sdk/issues/10#issuecomment-355115150,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD0FZo9NlTQcHtuQl0n7qfl8Jx7Tz7jks5tG9_cgaJpZM4Ned5V
.
I'm might need to look into using Firebase (database specifically) on tvOS soon... just sayin' thanks for any work so far, in advance...
Got auth/database working in a simple test app (actually kind of a port of existing iOS app).
Seems to work. Thanks again.
Because Firebase Analytics is dependent on Google Analytics and Google Analytics is not open source and not supporting tvOS, Firebase Analytics won't be available on tvOS. Is that right?
Firebase Analytics does not depend upon Google Analytics, and neither are open source.
Open source is not a requirement to add support for tvOS - however there are no public plans to make Firebase Analytics available for tvOS. cc: @baolocdo
Question about Firebase Analytics for tvOS. I don't understand. Can I use last version of FirebaseCore for tvOS for Firebase Analytics? Now I add sdk to my tvOS app and try to start it, But every time I have "1671911] 5.0.0 - [Firebase/Core][I-COR000022] Firebase Analytics is not available."
You can safely ignore that warning. Firebase Analytics is not available for tvOS.
I'll send a PR to get rid of the warning.
Will firestore be available on tvOS anytime soon ?
We're not opposed to adding tvOS support for Firestore (and seems like it should mostly just work--we use very little outside of the Foundation and SystemConfiguration frameworks) but Firestore is a very young product and unfortunately we have too many other things to do that are higher priority.
Pull requests welcome!
I tried adding tvos platform to the local podspec, but now the dependencies (gRPC and nanopb) do not support tvOS platform.
Is there another workaround I should be looking at?
Unfortunately no. However, gRPC and nanopb are both very lightweight and have few external dependencies (i.e. on UIKit), so they might already build on tvOS.
Is Crashlytics supported in tvOS?
Was trying Crashlytics in tvOS but I can't even get the firebase crashlytics setup to be successful.
I ran in my tvOS application and it seems nothing is being sent to google's server.
I found a tweet conversation stating that crashlytics will be supported for tvOS. Is it available now or for 2019? I'm asking because Fabric will be sunset on November 30, 2018.
PS: I've done a quick setup in iOS and can confirm that it works as I receive the successful setup and initial crash confirmation, so I'm pretty sure that tvOS doesn't work when I tried.
+1 Would be great to get Firestore, Functions and RemoteConfig support for TVOS!
Functions and Firestore are both open source and we'd happy to work with any contributors. Functions should be a matter of a bit of configuration, build and validation. Firestore is more complex because of its gRPC dependency but should still be doable.
tvOS Community support for Core, Auth, Database and Storage landed in #590 along with a tvOS sample app. See https://github.com/firebase/firebase-ios-sdk#community-supported-efforts.
I just got Firebase/Database working on tvOS by following the above example app and wanted to provide a TL;DR Podfile for those just getting started with Firebase/Database on tvOS:
platform :tvos, '12.0'
target 'FooTV' do
use_frameworks!
# Firebase is only partially supported on tvOS.
# These podspecs (and these Podfile lines) are taken from:
# https://github.com/firebase/firebase-ios-sdk/blob/master/Example/tvOSSample/Podfile
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git'
pod 'FirebaseDatabase', :git => 'https://github.com/firebase/firebase-ios-sdk.git'
end
Thanks to those who contributed to this thread!
Any particular reason why functions are not supported on TvOS?
I just modified the FirebaseFunctions.podspec to add support for TvOS and MacOS and the module build just fine.
thanks
@acerbetti It just hasn't been implemented and tested yet. We'll be happy to review a PR.
It should be a lot easier after the recently submitted testspec PR #1864 since no Xcode project setup is required for testing.
@acerbetti I just made the #2506 to add tvOS and macOS for FirebaseFunctions. You're right that it's a seamless port. Thanks for the push.
That's great, I was planning to test it better today and provide a PR, but you beat me.
thanks
Oh sorry for beating you to it. If you have some real-life tests that go beyond what's in the packaged unit and integration tests, that would still be appreciated.
@paulb777 Using the latest gRPC-C++ & gRPC-Core I was able to get Firestore running and returning data.
Only error I came across was sigaltstack which isn't available on tvOS used here... https://github.com/firebase/firebase-ios-sdk/blob/f250f50c530ac9c467b120a1b49dea3c53833c24/Firestore/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc#L153-L155 commenting this out allows it to build successfully.
@ay8s are you using the code #2506 ?
@ay8s That's great to hear. Are you able to send us a PR. Otherwise, hopefully we can get to this soon. cc: @wilhuff
@paulb777 If you have any thoughts on an adjustment to the snippet below for tvOS, as its third-party I'm hesitant to simply comment it out or wrap in a tvOS check.
https://github.com/firebase/firebase-ios-sdk/blob/f250f50c530ac9c467b120a1b49dea3c53833c24/Firestore/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc#L153-L155
@samsidd This is using a fork of master 👍
@ay8s Checking TARGET_OS_TV should be fine
@paulb777 https://github.com/firebase/firebase-ios-sdk/pull/2592 left as WIP as it requires dev gRPC pods right now.
My tvOS app is not connecting to the Firebase Console. I follow all the steps taking into account from giving the ID bundle, to installing the pods but when it reaches step 5 it never connects. Has anyone the same problem? Is there an extra step necessary for tvOS ?
@erickavb just wanted to say thanks for blazing the path for the rest of us with Firestore on Apple TV. We are going to have migrate from Firebase DB to Firestore soon to overcome the 100k concurrent limit of Firebase DB.
@erickavb re: not connecting to the Firebase Console. When the console waits for the "connect" step it is looking for a specific Analytics event which will never happen since Analytics isn't currently supported on tvOS. It's safe to ignore this warning and things should work as expected.
Going to close this since we now have community tvOS for most of Firebase and specific issues for missing coverage like #2011.
Most helpful comment
Hi! How is tvOS support coming? Was so excited to see the macOS support pushed!