magicalpanda / MagicalRecord

Super Awesome Easy Fetching for Core Data!
Other
10.8k stars 1.79k forks source link

Add tvOS framework target for Carthage support on tvOS #1174

Closed Jeehut closed 5 years ago

Jeehut commented 8 years ago

This adds basic tvOS framework support via Carthage. Note that I also unified the two identical files MagicalRecordTests-iOS-Info.plist and MagicalRecordTests-OSX-Info.plist files into one to prevent redundancy and adding even a third one for tvOS.

It doesn't compile yet though due to some deprecated features that aren't available from iOS 9+ / tvOS 9+. Those issues are already dealt with in separate branches / issues / pull requests, so I think this can be merged first.

Specifically the following will help fixing the compilation issues for the tvOS target:

pull-requests: https://github.com/magicalpanda/MagicalRecord/pull/1163, https://github.com/magicalpanda/MagicalRecord/pull/1164 issue: https://github.com/magicalpanda/MagicalRecord/issues/1143 branch: fix/3.0-concurrency-debug

Coeur commented 5 years ago

1163 will not be merged anytime soon.

I'm not going to merge a target that doesn't build: such target could live on its own tvOS branch, but not a branch used for releases. See https://github.com/Coeur/MagicalRecord/tree/tvos for instance.

Good idea about about merging the plist... but the content is small, and there may be a day with future keys that are only meaningful for one platform and not another, like UIRequiredDeviceCapabilities.

Thank you nonetheless. I'll see if I can add tvOS support soon (I mean on the 2.3.x / master branch), or if I give up on the idea. For the 3.0 branch, it'll have to wait until I merge master into it.

Coeur commented 5 years ago

Oh well, Xcode 11 changelog:

Xcode removes some entries from the Info.plist file of a product at build time if the entries are not appropriate for the platform being built for, which is useful for targets which are configured to build for multiple platforms. This behavior can be disabled by setting the build setting DISABLE_INFOPLIST_PLATFORM_PROCESSING to YES, in which case the target must assume the responsibility of managing these entries appropriately. (47797497)

Which means that having the same plist is now fine.

Coeur commented 5 years ago

tvOS support added on master with #1362.

Jeehut commented 5 years ago

Thanks, @Coeur! Much appreciated.