Closed phunkyfish closed 5 years ago
top shelf ported, now it needs to be tested with proper provisioning profiles.
will write what to do soon, if nobody else knows.
Will follow your lead on this 😉
finally some progress:
currently pressing Play starts the selected movie correctly, but pressing Tap results in empty dialog instead of movie details:
besides using proper provisioning profiles, one should also add media sources with type Movie or TV Show to make them appear in the Top Shelf.
one thing that was missing for the top shelf to actually work is https://github.com/kambala-decapitator/xbmc/commit/a5cd132299ae114cbd1e6fb8041868a24c6aa5ad, also made code improvements https://github.com/kambala-decapitator/xbmc/commit/084bf64eddf6aa857ff9fdad9682ee031f57ad00.
modifications to make top shelf work:
cmake/scripts/ios/PathSetup.cmake
to set your app ID to PLATFORM_BUNDLE_IDENTIFIER
variable.cmake/scripts/ios/Install.cmake
to include signing settings. You need to find your Developer Team ID (either in the dev portal or simply open a provisioning profile with text editor). Add the following just before the first add_custom_command(
:set_target_properties(${APP_NAME_LC} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
XCODE_ATTRIBUTE_CODE_SIGN_STYLE "Manual"
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "YOUR_TEAM_ID"
XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "YOUR_APP_PROVISIONING_PROFILE_NAME")
if(TOPSHELF_EXTENSION_NAME)
set_target_properties(${TOPSHELF_EXTENSION_NAME} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
XCODE_ATTRIBUTE_CODE_SIGN_STYLE "Manual"
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "YOUR_TEAM_ID"
XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "YOUR_TOPSHELF_PROVISIONING_PROFILE_NAME")
endif()
in my case, it looks like this:
set_target_properties(${APP_NAME_LC} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
XCODE_ATTRIBUTE_CODE_SIGN_STYLE "Manual"
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "83BQGRWT8G"
XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "tvos-kambala")
if(TOPSHELF_EXTENSION_NAME)
set_target_properties(${TOPSHELF_EXTENSION_NAME} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
XCODE_ATTRIBUTE_CODE_SIGN_STYLE "Manual"
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "83BQGRWT8G"
XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "tvos-topshelf-kambala")
endif()
Thank you very munch for the procedure!
BTW if you plan to rebase your code by using fuzzard/master_darwin-embedded-ATV branch pay attention to this commit https://github.com/fuzzard/xbmc/commit/6b3f053eb72b8e767db59746cc4ddd50584a7c96 concerning top shelf target ;-)
@kambala-decapitator assuming I want to automate this as much as possible so I have a patch for the cmake changes. Can I also add the provisioning profiles to xcode automatically or do I need to manually assign those in xcode?
I will write a PR for the doc once I have this up and running. Will include how to automate it as well do it in the Xcode UI.
You add the provisioning profiles to your Mac manually only once (after you download them from the dev portal) by double-clicking them. Afterwards patch like I wrote above is enough.
Magic, thanks!
I think that instead of manual modifying cmake files we can do it via command-line variables like -DBUNDLE_ID=com.whatever.kodi
and then just check for presence of those
Nice, ya, that would work nicely.
So 6 possible command line variables?
BUNDLE_ID CODE_SIGN_IDENTITY CODE_SIGN_STYLE DEVELOPMENT_TEAM_ID PROVISIONING_PROFILE PROVISIONING_PROFILE_TOPSHELF
Maybe some of those can be inferred such as CODE_SIGN_IDENTITY and CODE_SIGN_STYLE if some of the others are provided.
If only bundle ID is set then set everything to automatic for free dev account users, otherwise use manual.
I've tested top shelf with Yoda plugin (for TV Show) . More info here: https://github.com/SylvainCecchetto/xbmc/issues/61#issuecomment-496792940
implemented command line params in https://github.com/fuzzard/xbmc/pull/8
Id consider this issue done.
Any outstanding issues are more feature changes than anything
I agree
Closing! 1 down many to go 😉
A lot of work on this is done.
we already have all the code, now it's just a matter of cmake configuration to set up extension target.
@kambala-decapitator