Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CFBundleIconName is missing in the bundle #210

Closed
1 of 3 tasks
piotrros opened this issue Sep 20, 2017 · 13 comments
Closed
1 of 3 tasks

CFBundleIconName is missing in the bundle #210

piotrros opened this issue Sep 20, 2017 · 13 comments

Comments

@piotrros
Copy link

Issue details

After updating Xcode to 9 my game cannot pass through iTunes processing. It sends without any warnings and later on, I'm receiving the following email:

Missing Info.plist value - A value for the "Info.plist" key CFBundleIconName is missing in the bundle 'com.rosapp.choinkafull'. Apps that provide icons in the asset catalog must also provide this Info.plist key. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.

So, I've added iTunesArtwork.png and iTunesArtwork@2x.png to data/ directory as well as I've updated Info.plist.xml:

    <key>CFBundleIconName</key>
    <string>iTunesArtwork</string>
    <key>CFBundleIcons</key>
    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>Icon</string>
                <string>Icon-72</string>
                <string>Icon-120</string>
                <string>Icon-152</string>
                <string>Icon-40</string>
                <string>Icon-76</string>
                <string>Icon-80</string>
                <string>Icon-Small</string>
                <string>Icon-Small-50</string>
                <string>iTunesArtwork</string>
            </array>
        </dict>
    </dict>

I've also found out this is possible to open the project in Xcode. But it doesn't seem to work:
'OpenGLES/OpenGLES.h' file not found.

Reproduction steps/code

Send an app to the iTunes Store having Xcode 9.

Configuration

Build Tools:

  • IDEA plugin
  • Eclipse plugin
  • Gradle plugin

Versions:

Please provide the version of RoboVM, XCode and JDK used

  • Robovm: 2.3.3-SNAPSHOT
  • XCode: 9.0
  • JDK: 1.8.0_60

Build Targets:

Doesn't matter, the app works on device and simulator.

@juba-ch
Copy link

juba-ch commented Sep 21, 2017

We have the same problem. After update to xCode 9.0 and changing everything to export only the 64bit version.

@keesvandieren
Copy link
Contributor

Apparently an Asset Catalog is a must-have now. Xamarin info:

VS code for Mac is open source, maybe we can find some inspiration from there?

@keesvandieren
Copy link
Contributor

Is this related to Xcode version? Is this check only executed by Apple if submitted with Xcode 9, or also with Xcode 8?

@keesvandieren
Copy link
Contributor

Robovm supports Asset catalogs according to docs: http://docs.robovm.com/configuration.html#resource-processing

@Majirefy
Copy link

@keesvandieren This is how I solve this.

I think most people will refer to this tutorial for building iOS game with LibGDX(https://frozenfractal.com/blog/2016/3/18/porting-libgdx-games-to-ios-for-apple-dummies-2/). Maybe LibGDX is the most common case for RoboVM.

Yes, in docs of RoboVM(http://docs.robovm.com/configuration.html#resource-processing), Asset catalogs is supported.

  1. Generate Assets.xcassets folder.
    Create an empty iOS project with Xcode 9, give it whatever name. Then refer to Assets.xcassets folder in left panel:

2017-09-24 9 22 15

  1. Double click to open it. Xcode creates a default asset catalog named "AppIcon". Select "AppIcon", then add all icon size of your app.

2017-09-24 9 23 47

  1. Close this windows and save project. Then refer to this project's folder in Finder:

2017-09-24 9 26 34

There will be a folder called "Assets.xcassets":
2017-09-24 9 27 13

  1. Open your RoboVM project's folder, then go to the folder where you set to save your iOS assets.
    This folder will be like "data", "resource". To know which, just open "robovm.xml" file, there will be a node named "resources", and then it will tell you which folder RoboVM will refer to when building iOS app with given assets.

2017-09-24 9 31 24

In my case, it will be "data" folder, just under my iOS project's folder:

2017-09-24 9 32 02

  1. Copy "Assets.xcassets" folder from the project we just created with Xcode 9 to "data" folder.

  2. Modify your iOS project's "Info.plist.xml" file.
    Under "dict" node, add like this:

2017-09-24 9 35 04

Then comment out all the icon info in "CFBundleIcons", you will not use this anymore.
2017-09-24 9 36 43

All done!
Use gradle to build your app like before. New IPA file will bundled with AppIcon.

@juba-ch
Copy link

juba-ch commented Sep 25, 2017

@Majirefy thanks a lot. this worked very well.

@piotrros
Copy link
Author

@Majirefy a big thumbs up for you! Indeed it's working. The first time iTunes rejected me for some strange error. Fortunately, I just had to clean my build directory :)

So I guess the issue is closed.

@keesvandieren
Copy link
Contributor

Maybe the Robovm project generated by LibGDX setup tool needs an update @piotrros, @Tom-Ski?

I think it is important for development experience that the default project generated by this tool is compatible with XCode 9 / last iTunes connect requirements.

@Tom-Ski
Copy link
Member

Tom-Ski commented Sep 25, 2017

Yup

@keesvandieren
Copy link
Contributor

Submitted PR for libgdx to use Asset catalog: libgdx/libgdx#4902 You can give it a try, feedback welcome :-)

@mcolombo
Copy link

mcolombo commented Oct 4, 2017

Hi all,
I followed every step of @Majirefy solution, but keep getting this error when submitting my app:
ERROR ITMS-90022: "Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0.

Am i missing something?
Thanks to all

@mcolombo
Copy link

mcolombo commented Oct 4, 2017

I made it work, seems to be that there was a problem with some of the icons' names. I rebuilt everything and worked.

@florianf
Copy link
Collaborator

@Majirefy Thanks a lot for your writeup, transferred it to the wiki:

https://github.com/MobiVM/robovm/wiki/Howto-Create-an-Asset-Catalog-for-XCode-9-Appstore-Submission%3F

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants