Skip to content

FR: watchOS Support #269

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mknippen opened this issue Sep 14, 2017 · 36 comments
Closed

FR: watchOS Support #269

mknippen opened this issue Sep 14, 2017 · 36 comments

Comments

@mknippen
Copy link

mknippen commented Sep 14, 2017

With the release of watchOS 4 and an LTE Apple Watch, there’s no better time to plan support for Apple Watch. The Series 3 Watch has significantly more power, and applications will want to connect to Firebase.

@salqadri
Copy link
Contributor

Hi Matthew! Yes WatchOS4 looks awesome and we are keeping a close watch (pun intended) on this platform. We will continue to evaluate officially supporting the platform as it grows in apps and users, but until we do, we welcome any community contributions in this area.

@boblepepeur
Copy link

I'm In !

@coolioxlr
Copy link

+1

9 similar comments
@robpeach
Copy link

robpeach commented Feb 7, 2018

+1

@dyah10
Copy link

dyah10 commented Mar 21, 2018

+1

@wipnick
Copy link

wipnick commented Mar 23, 2018

+1

@ugenlik
Copy link

ugenlik commented Jun 8, 2018

+1

@Lawris
Copy link

Lawris commented Jul 12, 2018

+1

@polok
Copy link

polok commented Jul 22, 2018

+1

@thattyson
Copy link

+1

@AsteaDevelopment
Copy link

+1

@fabricio-stein
Copy link

+1

@GioPalusa
Copy link

Watch OS 5 is here, and an addition with Firebase to WatchOS would be greatly appreciated! +1

@mknippen mknippen changed the title FR: WatchOS Support FR: watchOS Support Jan 3, 2019
@zhgchgli0718
Copy link

+1

christibbs added a commit that referenced this issue Jan 25, 2019
* compile and run

* unit tests pass and swift target compiles

* dump build version in activity log

* standardize cross sdk imports in firebase iam code (#211)

standardize cross sdk imports & polish with style script

* using new sample app for testing non-development fiam sdk (#213)

* in-app messaging public interface cleanup (#216)

* slim down public header files

* move testing source files to their correct folders

* compiles

* style script fine-tune

* adding root object creation methods to follow the firebse iOS convension

* IAM url following refactor (#218)

* @available not supported by blaze build yet (#220)

* Clearcut integration for in-app messaging (#222)

* Update iam-master to catch up with latest master (#223)

* Support multiple triggers defined for the same iam message (#224)

* FIAM Clearcut Client Implmentation Improvement (#226)

* fixing action url bug and set auto dismiss to be 12 seconds (#227)

* use official public api dns name (#233)

* Logging firebase analytics events for fiam (#232)

* Fine tuning of fiam's code for loading data from caches (#234)

* fiam ui fine tuning before EAP (#235)

* allow fiam SDK functions to be disabled/enabled dynamically (#247)

* analytics event parameter name tuning (#253)

* migrate off @import for fiam code (#261)

* different modes for fiam sdk at runtime (#262)

* realtime clearcut when in running in simulator (#265)

* Update interface based on the Firebase API review feedback  (#267)

* check existence of fiam SDK resource bundle (#268)

* handling api keys with application restrictions (#269)

* fixing typo and refoctor for unit testing (#270)

* fix color method name clash and layout adjust (#271)

* Yongmao/layout issue and class rename (#273)

* fix long text height calc error

* rename class

* fiam modal view layout tuning (#274)

* test on device for ios client (#275)

* dynamic testing mode handling (#277)

* main header file comment update and run style.sh (#281)

* honor global firebase auto data collection flag in fiam (#283)

* honor global firebase auto data collection flag in fiam

* address comments

* tuning

* address review comments

* tuning for comments

* Rename Core global data collection switch (#287)

* Support displaying a messages defined as recurring (#286)

* continue

* Adjust some inapp messaging dependeces due to the firebase core changes from the upcoming release

* bump up version for in-app messaging

* Fix impression log clearing race condition bug. (#289)

* fix impression handling race condition bug

* podspec and interacting interfaces for new firebaseinappmessagingdisplay pod (#290)

* create inapp messaging display podspec

* Default fiam display UI implementation (#292)

* Default fiam display UI implementation. Created the new pod for FirebaseInAppMessagingDisplay

* Make FirebaseInAppMessaging headless (#293)

* import path tuning

* log test message events (#296)

* respect fetch wait time from server (#297)

* add changelog.md for fiam headless sdk (#300)

* port the fetch wait time change back into github (#304)

* remove resource bundle check for headless sdk

* fix a bug in which the test-on-device message does not follow action url

* Add category on NSString to interlace two strings, use it to obfuscate clearcut host name

* Use FIR prefix to avoid collisions

* Change method name for getting server hostname

* Delete Swift example project, its coverage is already duplicated in the FIRInAppMessagingDisplay UITests

* Miscellaneous open sourcing cleanup tasks

* Convert FIAM to use the Analytics connector (#336)

* Convert FIAM to use Analytics connector along with converting to the FIRLibrary component registration model.
* Update interop headers for missing methods
* Convert existing unit tests

* Fix style for fiam sources (#342)

* Clean up non-idiomatic ObjC method names

* Clean up Swift test target from Podfile

* Use dummy GoogleService-Info.plist and don't expose api keys (#343)

* Update plist to include fake API keys

* Remove changes in non fiam code from iam-master branch (#350)

* Fix a few method and parameter naming nits

* Fix comment typos in several files

* Delete remaining Swift project files
@mikemike396
Copy link

Any update on this?

@mariohahn
Copy link

+1

@Supertecnoboff
Copy link

2019 and still no watchOS support 😢

@sotrosh
Copy link

sotrosh commented May 9, 2019

just watched firebase 2019. Added wearOS support. No watchOS support still.

@pepejeria
Copy link

I guess that this won't be an issue anymore with watchOS 6 since apps are independent?

@mknippen
Copy link
Author

mknippen commented Jun 6, 2019 via email

@Supertecnoboff
Copy link

I think this will be a much bigger issue. Hopefully with all of the streaming data and network framework, we can make this available ASAP!

Surely you can add watchOS support because presumably watchOS 6 has the CFNetwork framework?

@robbiet480
Copy link

robbiet480 commented Jun 12, 2019

My assumption is that watchOS won't be supported until Google Analytics is supported which is gonna be a long time since we don't have UIKit for watchOS and at this point it's unlikely we ever will with the introduction of SwiftUI, so GA would have to get rewritten to support SwiftUI or at least remove the hard requirement on UIKit.

@ryanwilson
Copy link
Member

Started some investigation into this and kicked off the attempt with GoogleUtilities since it has no dependencies and is a dependency of all other Firebase SDKs - a few hurdles to start:

  • OCMock isn't available for watchOS, meaning a majority of our tests won't work
  • A larger hurdle (after disabling the test_spec in the podspec) the SystemConfiguration framework isn't available in watchOS.
    • This affects three subspecs: Reachability, Network, and AppDelegateSwizzler, which in turn affects Auth, Messaging, and Analytics.

It looks like it may be possible to add support for individual subspecs and maybe that's the way to pare it down further, but unfortunately this won't be as easy as just adding s.watchos.deployment_target = '5.0'

If anyone else wants to make an attempt in the meantime, you may be able to start adding support for each subspec and then creating a new watchOS target in the Example Xcode project.

@morganchen12
Copy link
Contributor

@ryanwilson watchOS tests running on simulator are compiled against the iOS simulator target. This might change with standalone watch apps, but afaik hasn't yet in watchOS 6. iOS simulator testing + build targeting watchOS should be sufficient for watchOS for the time being. I made a PR to OCMock to add watchOS support, but it shouldn't be a blocker for testing.

@ryanwilson
Copy link
Member

ryanwilson commented Jun 17, 2019

@morganchen12 makes sense, the issue I ran into was using pod lib lint and pod gen - the watchOS bit choked when getting to the test spec that depended on the OCMock pod. I disabled the test spec to generate the project instead.

Re: SystemConfiguration not being available, it looks like WatchConnectivity has a reachability function we can use to replace the one in SystemConfiguration.

@larryonoff
Copy link

It would be really appreciated to do watchOS support at least from 6.0.

@morganchen12
Copy link
Contributor

Additional FR #3453

@sotrosh
Copy link

sotrosh commented Sep 23, 2019

any updates on this issue? watchOS 6 has released.

@morganchen12
Copy link
Contributor

watchOS support was merged into OCMock today. In preparation for this feature, we can start running tests on watchOS simulator once OCMock makes a new release.

@kajensen
Copy link

Any movement on this issue?

@paulb777
Copy link
Member

Progressing at #4016

@paulb777
Copy link
Member

Now that #4016 has merged with support for FirebaseMessaging and watchOS and will be part of the first release of 2020, I'm going to close this is umbrella issue.

Please open additional issues for any additional specific requested functionality for watchOS.

@mknippen
Copy link
Author

@paulb777 Is this supporting the Firebase Database on independent watch apps, or just Firebase Messaging? The original ticket here was so that we can make read/writes to the Realtime Database in watchOS

@paulb777
Copy link
Member

@mknippen It's just Firebase Messaging so far.

Going back and looking at the OP, I don't see the Firebase Database mention.

How about creating another issue specifically for Database and watchOS? A similar issue could be created for any other requested Firebase libraries for watchOS. That will help us prioritize.

BTW, if anyone wants to work on this, the approach would be to update the relevant podspec's like #4016, working though any build issues, validating, and sending a PR.

@n3at18
Copy link

n3at18 commented Dec 27, 2019

@paulb777 @mknippen I've created a separate feature request for Realtime Database support: #4556

@jroets
Copy link

jroets commented Dec 27, 2019

I've created feature requests for Firebase Analytics and Firebase Crashlytics on watchOS: #4557 and #4558, respectively.

@firebase firebase locked and limited conversation to collaborators Jan 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests