Cannot submit Apple TV apps with frameworks that include 'appletvsimulator' in SUPPORTED_PLATFORMS

Originator:info
Number:rdar://22967941 Date Originated:04-Oct-2015 09:32 PM
Status:Open Resolved:
Product:Developer Tools Product Version:Xcode 7.1 beta 2
Classification:Serious Bug Reproducible:Always
 
Summary:
When attempting to submit my Apple TV app, I’m getting a validation error:
Invalid Bundle - Info.plist of “AppleTVApp.app/Frameworks/SomeFramework.framework” specifies a simulator platform for the CFBundleSupportedPlatforms key...

These frameworks that are failing are built with Carthage. Currently, we use a workaround for rdar://19209161 that strips architectures from the fat binary. This has been a valid solution for iOS and watchOS apps. However, Apple TV introduces one new problem: these frameworks cannot include “appletvsimulator” as part of “SUPPORTED_PLATFORMS”.

Steps to Reproduce:
- Create an Apple TV app.
- Create _a separate project_ with an tvOS framework.
- Build tvOS framework.
- Link and embed framework in Apple TV app.
- Archive app and submit to App Store.

Expected Results:
- Application is accepted.

Actual Results:
- Verification fails with error “Invalid Bundle - Info.plist of “AppleTVApp.app/Frameworks/SomeFramework.framework” specifies a simulator platform for the CFBundleSupportedPlatforms key…”

Regression:
I imagine Apple is assuming that we’re building frameworks _from within the project_. However, that’s missing a very important usage of frameworks: being able to compile them, include them in the repo, and forget about having to build them again every time we archive an app. I imagine Xcode sets this flag to just “appletvos” when archiving frameworks that are included in the app. However, SUPPORTED_PLATFORMS needs to contain both values in order to use the same “.framework” file from both the simulator and from a device.

This is currently not a problem for iOS frameworks since the only thing that’s validated is the architectures that the fat binary includes (rdar://19209161)

Notes:
This is highly disappointing, as it’s yet another example that shows that you guys are not testing these very common scenarios and instead probably limiting QA to very basic test apps.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!