Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

tvOS Submission errors. CFBundlePrimaryIcon and more.
Started by graham07 Dec 17 2017 04:47 PM

10 replies to this topic
[TOPIC CONTROLS]
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

graham07

[GLOBAL: userInfoPane.html]
graham07
  • Contributor

  • 256 posts
  • Corona SDK

While I've tried following the XCAsset documentation, it refers to removing some tvOS directories for iOS submissions. Those directories don't exist in the builds I've looked at.

 

My Corona build runs just fine, but when loading it to the App Store I get the following error(s)

 

1 package(s) were not uploaded because they had problems:

/var/folders/kd/w6sc1l310zgfjtv5pfzgym3r0000gn/T/B9D4085E-9960-4F7A-9482-0DE32B9DF2A9/1326443601.itmsp - Error Messages:
description length:688688
ERROR ITMS-90513: "Missing Info.plist Key. Your app's Info.plist must contain the 'CFBundleIcons.CFBundlePrimaryIcon' key."
ERROR ITMS-90513: "Missing Info.plist Key. Your app's Info.plist must contain the 'TVTopShelfImage.TVTopShelfPrimaryImage' key."
ERROR ITMS-90513: "Missing Info.plist Key. Your app's Info.plist must contain the 'TVTopShelfImage.TVTopShelfPrimaryImageWide' key."
 
The build.settings are as follows.
 
--
-- For more information on build.settings, see the Project Build Settings guide at:
-- https://docs.coronalabs.com/guide/distribution/buildSettings
--

settings =
{
	orientation =
	{
		-- Supported values for orientation:
		-- portrait, portraitUpsideDown, landscapeLeft, landscapeRight
		default = "landscapeLeft",
		supported = { "landscapeLeft", }
	},

	--
	-- Android section
	--
	android =
	{
		usesPermissions =
		{
			"android.permission.INTERNET",
		},
	},

	--
	-- iOS section
	--
	iphone =
	{
        xcassets = "Images.xcassets",
		plist =
            {
            MinimumOSVersion = "8.0",
                NSAppTransportSecurity =
{
    NSAllowsArbitraryLoads = true,
},
			UIStatusBarHidden = false,
			UILaunchStoryboardName = "LaunchScreen",

		},
	},

	--
	-- Plugins section
	--
	plugins =
	{
         ["plugin.musicStreaming"] =
        {
            publisherId = "tech.scotth",
            supportedPlatforms = { iphone=true, android=true }
        },
    },

	--
	-- Project section
	--
	excludeFiles =
	{
		-- Exclude unnecessary files for each platform
		ios = { "Icon.png", "Icon-*dpi.png", },
		android = { "Icon.png", "Icon-??.png", "Icon-???.png", "LaunchScreen.storyboardc", },
	},
}


I've tried this on both build 3162 and 3184.

 

Any thoughts

 



[TOPIC: post.html]
#2

roaminggamer

[GLOBAL: userInfoPane.html]
roaminggamer
  • Corona Geek

  • 7,585 posts
  • Corona SDK

You are entirely missing the  (Apple) tvos section and I assume the assets too.

 

Examine Corona Cannon, which is Apple TV Ready:


Edited by roaminggamer, 17 December 2017 - 05:07 PM.


[TOPIC: post.html]
#3

roaminggamer

[GLOBAL: userInfoPane.html]
roaminggamer
  • Corona Geek

  • 7,585 posts
  • Corona SDK

[TOPIC: post.html]
#4

graham07

[GLOBAL: userInfoPane.html]
graham07
  • Contributor

  • 256 posts
  • Corona SDK

I did refer to an older app I put on Apple TV but that didn't have any of the xcassets. 

I did read those articles, and the latter (https://docs.coronalabs.com/guide/distribution/xcAssets/index.html) mentions tvOS, but its references don't work any more (the directories aren't there)

 

Cannon however appears to be a good reference! I'll chase that rabbit and see where it gets me.

 

This looks like it has what I"m missing.

    tvos = {
        iCloud = true,
        icon = {
            small = { -- A collection of 400x240 images, in order from top to bottom
                'Icon-tvOS-Small-4.png',
                'Icon-tvOS-Small-3.png',
                'Icon-tvOS-Small-2.png',
                'Icon-tvOS-Small-1.png'
            },
            large = { -- A collection of 1280x768 images, in order from top to bottom
                'Icon-tvOS-Large-4.png',
                'Icon-tvOS-Large-3.png',
                'Icon-tvOS-Large-2.png',
                'Icon-tvOS-Large-1.png'
            }
        },
        topShelfImage = 'Icon-tvOS-TopShelf.png', -- 1920x720
        topShelfImageWide = 'Icon-tvOS-TopShelfWide.png', -- 2320x720
        launchImage = 'Icon-tvOS-Launch.png' -- 1920x1080
    }, 

Ultimately I suspect the Corona documentation could do with updating, except I'm concerned on the longevity of tvOS, it seems to be used less and less :( 

 

Thank you.



[TOPIC: post.html]
#5

roaminggamer

[GLOBAL: userInfoPane.html]
roaminggamer
  • Corona Geek

  • 7,585 posts
  • Corona SDK

@graham07,
 
Why do you think this?
 

Ultimately I suspect the Corona documentation could do with updating, except I'm concerned on the longevity of tvOS, it seems to be used less and less  :(



I think perhaps the Apple docs update simply slipped through the cracks with the many things going on at Corona.


Edited by roaminggamer, 18 December 2017 - 05:23 PM.


[TOPIC: post.html]
#6

graham07

[GLOBAL: userInfoPane.html]
graham07
  • Contributor

  • 256 posts
  • Corona SDK

My comment about tvOS wasn't aimed at Corona, but at the developer side.

The tvOS forum here is very quiet, the ad providers dropped support for tvOS which IMHO is likely due to lower ROI on the platform.

Lack of monetization options may in turn have developers steer away from the platform too, and it becomes cyclical. Sure there's other ways to monetize, but advertising is a major player currently.

 

I know Apple won't drop it, but it appeared to lose a lot of the traction that it had. I don't expect it to die, but I don't expect the environment/third party support to improve a lot either (unless something happens Applewise)

 

All that said, more than happy to be wrong :)



[TOPIC: post.html]
#7

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 25,786 posts
  • Enterprise

I'm asking for a clarification on the documentation and we will get it updated with a more complete example.

 

 

Rob



[TOPIC: post.html]
#8

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 710 posts
  • Corona Staff

Try building SampleCode/Physics/ShapeTumbler. It has setup for tvOS submission. I'll check it as well.

 

EDIT: Submission of that sample to app store worked perfectly, got green checkmark and everything. Please, use it's build.settings tvOS section and Images.xcassets as an example. It is little different to include all the tvOS assets.

uawyiSn.png



[TOPIC: post.html]
#9

graham07

[GLOBAL: userInfoPane.html]
graham07
  • Contributor

  • 256 posts
  • Corona SDK

Corona Cannon got the job done, I'll check out details for Rob on the documentation side. Thanks for the tip though Vlads, I'll check that out too just as a learning exercise.



[TOPIC: post.html]
#10

graham07

[GLOBAL: userInfoPane.html]
graham07
  • Contributor

  • 256 posts
  • Corona SDK

I'm asking for a clarification on the documentation and we will get it updated with a more complete example.

 

Rob,

  Per the two articles referenced above, there isn't a lot of mention for tvOS.

 

https://docs.coronalabs.com/guide/distribution/buildSettings/index.html#tvos-android-tv

Project Build Settings Document.

tvOS / Android TV

Apps designed for TV systems require additional icons:

  • For Apple's tvOS, several unique icons and assets are required. Please see the Managing Xcode Assets guide for a reference on the Images.xcassets folder and how to include/reference it within your app.

 

 

https://docs.coronalabs.com/guide/distribution/xcAssets/index.html

Managing Xcode Assets

 

If no tvOS release is planned, you can delete both the AppIconTV.brandassets and LaunchImageTV.launchimage folders within the Images.xcassets folder. This will not affect how icons are generated for iOS.

 
 
Under Managing Xcode assets, I don't know that these assets ( AppIconTV.brandassets and LaunchImageTV.launchimage folders) are still included as I don't see them any more.
After searching the documentation, I don't see any reference whatsoever to a tvOS section in build settings (like I quoted above) so I wasn't aware I should have included it. Naive perhaps, but I wasn't able to find anything pointing that out :). It explains why I was having so much trouble though.
 
Hope that helps, and if there are other areas I missed that I should have read, I'm happy to be educated.
 
Thank you


[TOPIC: post.html]
#11

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 710 posts
  • Corona Staff

Hey, graham07. You can use /Applications/Corona-3184/SampleCode/Physics/ShapeTumbler/Images.xcassets as a template for all tvOS assets. 

 

tvos.icon/topShelfImage/topShelfImageWide may not work with latest build (they will work, but it is possible that you have to still use tvos.xcassets to specify some assets which can't be specified with hardcoded tvos. entries). Please, Use ShapeTumbler's build.settings in tvos section as template for you tvOS app. It is super easy:

settings =
{
    orientation =
    {
        default = "landscapeRight",
        supported = { "landscapeRight" }
    },
    tvos =
    {
        xcassets = "Images.xcassets",
    },
}
That's it. That is all there is for it.

 

Cheers! 




[topic_controls]
[/topic_controls]