PhilipsHue / PhilipsHueSDK-iOS-OSX

The Software Development Kit for Philips Hue on iOS and OS X (beta)
579 stars 169 forks source link

tvOS build issue #100

Open gabek opened 8 years ago

gabek commented 8 years ago

With the new tvOS it seems linking in SDK isn't happy:

The following error takes place at build time:

ld: warning: URGENT: building for tvOS simulator, but linking in object file (/HueSDK_iOS.framework/HueSDK_iOS(PHHueSDK.o)) built for (unknown). Note: This will be an error in the future.

lightbow commented 8 years ago

+1

Hey Philips, if you put the actual source code for the SDK on GitHub, there are plenty of developers that would love to fix stuff like this for you, just let me know!

cliffspencer commented 8 years ago

I agree that there is a community ready and able to contribute to the SDK. It appears that there are very few if anyresources available from the Philips side, we could help.

danielreiser commented 8 years ago

+1 That should have happend a long time ago.

lightbow commented 8 years ago

From the Apple FAQ on tvOS:

Q: Can I link my tvOS app with an iOS framework? What does this Xcode warning mean: "ld: warning: URGENT: building for tvOS, but linking in object file (/path/to/file) built for iOS. Note: This will be an error in the future.”? All libraries and frameworks that you use in your tvOS apps must be built for tvOS, including any 3rd-party libraries. Make sure your tvOS app doesn’t link against frameworks or libraries built for iOS.

Q: Is bitcode required for tvOS apps? Yes, bitcode must be enabled when compiling your app and any 3rd-party libraries.

samuelclay commented 8 years ago

Due to Hue 2.0, which has Apple's HomeKit support, is it possible that Philips is no longer maintaining this repo?

lightbow commented 8 years ago

That's highly unlikely for three reasons:

1) At this time, 3rd party apps can't access anything related to HomeKit on tvOS. The framework doesn't even exist in the tvOS 9.0 SDK. I'm sure this will change at some point, and Apple hasn't commented on their reasons for this, but I'm guessing they just ran out of time before launch.

2) HomeKit doesn't have the feature set yet to replace the basic Philips SDK commands. Off the top of my head, I'm pretty sure it doesn't have things like fade/transition times, countdown timers less than 5 minutes, etc. We need the Philips SDK.

3) While there are many things we'd love to see happen with this github, I've noticed an uptick in responsiveness from Philips on their developer forums, and they have always expressed strong interest in 3rd party developers. This is in contrast to Belkin (who left their iOS SDK to essentially rot in 32-bit-only libraries breaking all new hardware) and even LIFX (who discontinued their SDK all of a sudden, though to their credit left the source code available and documented the lower-level protocols).

Bottom line is that there's a definite need for Philips to maintain this SDK. Dozens of 3rd party developers rely on it for their iOS apps, and without regular maintenance, those apps will stop working as Apple updates iOS to deprecate things, add new build-time requirements (like bitcode), etc. Without the 3rd party developer community, Philips would lose a major advantage over other brands who are quickly catching up (or have already surpassed) on the hardware side. I have confidence they'll do the right thing by either catching up with updates, or open sourcing the thing so we can help!

charlesaroutiounian commented 8 years ago

Any ETA?

AvdLee commented 8 years ago

+1

charlesaroutiounian commented 8 years ago

Any news? I have pretty much finished my tvOS App, but cannot ru it on device yet! Should we come up with our own API just like previously for MacOS. Thanks!

lightbow commented 8 years ago

Updating my opinion from previous comments, I'm not sure what will happen at this point. HomeKit has gotten better (though in my opinion, still not great) and will soon support tvOS. Awesome Philips hue features like strobing that were missing from HomeKit were sadly removed from the bridge/bulbs with a firmware update so feature parity is less of an issue. The bridge will always need to take API calls that have nothing to do with HomeKit because Philips needs to support non-Apple ecosystems. I wonder if Philips is giving up on this framework in favor of a "just use HomeKit" strategy after all. I'd say most of my users are on a non-HomeKit (generation 1) bridge though, so every iOS/watchOS update, I'll be crossing my fingers it doesn't totally break.

PCharpentier commented 8 years ago

Is there the same thing for watchOS ? Is there a SDK for that because I tried with the iOS SDK and it doesn't work.