Application Loader: App Missing info.plist

I am trying to upload my app to iTunes Connect using the Application Loader and I am getting an error message saying “the package does not contain an info.plist”.

How do I fix this in the zip file?

You shouldn’t have to.  If you built with Corona SDK and did not do anything with the .zip file after it’s produced, the plist should be there for you.

Can you post the entire message from Application Loader?

Rob

Okay, I tried to attach the package again and now this is the error:

The Info.plist in the package must contain the CFBundleShortVersionString key.

In your build.settings in the:

settings = {

     iphone = {

           plist = {

                  CFBundleShortVersionString = “1.0” – or what ever version you want…

                  – other stuff

           }

     }

}

This will be set for you in the next public build.  This is just a requirement for the current public build.

Rob

Where do I locate the build.settings? Is this in the .zip file

It should be in the folder with your main.lua file.

See: http://docs.coronalabs.com/guide/distribution/buildSettings/index.html

You should never unzip your app’s .zip file.  If you do and make changes, you have to go through a lot of work to resign the app correctly.

Rob

I followed the instruction and typed CFBundleShortVersionString = “1.0” into the build.setting and then I received the following message:

ERROR: Could not complete build because there were compile errors in Lua file: /Users/amekaali/Documents/Kwik3/AL_Journey_to_C/build/page_3.lua

Check Simulator console for error messages.

I went back to the build.settings to remove what I typed in and now the build.setting file is empty.

I was able to replace the build.settings file and page_3.lua file from my external hard drive and now the build is working again so now I’m back where I started with the error message from Application Loader:

The Info.plist in the package must contain the CFBundleShortVersionString key.

This is what my build.setting file looks like. Where do I insert?

– build.settings 

settings = 

     android  = 

     { 

        usesPermissions  = 

        { 

             “android.permission.RECORD_AUDIO”, 

             “android.permission.WRITE_EXTERNAL_STORAGE”, 

        }, 

     }, 

     orientation = 

     { 

         default = “landscapeRight”, 

         supported = { “landscapeLeft”, “landscapeRight” } 

      }, 

      iphone =  

      {  

         plist=  

         {  

              UIApplicationExitsOnSuspend = false,  

              UIStatusBarHidden = true,  

              CFBundleIconFile=“Icon.png”,  

              CFBundleIconFiles = {  

                   “Icon.png”,  

                   “Icon@2x.png”,  

                   “Icon-72.png”,  

                   “Icon-72@2x.png”,  

                   “Icon-76.png”,  

                   “Icon-76@2x.png”,  

                   “Icon-120.png”,  

                   “Icon-60.png”,  

                   “Icon-60@2x.png”,  

                   “Icon-Small-50@2x.png”,  

                   “Icon-Small-50.png”,  

                   “Icon-Small.png”,  

                   “Icon-Small@2x.png”,  

              },  

         },  

       },  

}

settings = 

     android  = 

     { 

        usesPermissions  = 

        { 

             “android.permission.RECORD_AUDIO”, 

             “android.permission.WRITE_EXTERNAL_STORAGE”, 

        }, 

     }, 

     orientation = 

     { 

         default = “landscapeRight”, 

         supported = { “landscapeLeft”, “landscapeRight” } 

      }, 

      iphone =  

      {  

         plist=  

         {  

              UIApplicationExitsOnSuspend = false,  

              CFBundleShortVersionString = “1.0”,    – notice the very important comma at the end.

              UIStatusBarHidden = true,  

              CFBundleIconFile=“Icon.png”,  

              CFBundleIconFiles = {  

                   “Icon.png”,  

                   “Icon@2x.png”,  

                   “Icon-72.png”,  

                   “Icon-72@2x.png”,  

                   “Icon-76.png”,  

                   “Icon-76@2x.png”,  

                   “Icon-120.png”,  

                   “Icon-60.png”,  

                   “Icon-60@2x.png”,  

                   “Icon-Small-50@2x.png”,  

                   “Icon-Small-50.png”,  

                   “Icon-Small.png”,  

                   “Icon-Small@2x.png”,  

              },  

         },  

       },  

}

Rob, I typed this in just as you provided above. Now I’m getting a build error I mentioned earlier:

ERROR: Could not complete build because there were compile errors in Lua file: /Users/amekaali/Documents/Kwik3/AL_Journey_to_C/build/page_3.lua

It sounds like there is an error in your “page_3.lua” file.  The simulator only uses the files it needs, however the build process tries to compile all .lua files even if they are not used.

Rob

Hi Rob,

I corrected my issue with “page_3.lua” file. I rebuild the app for distribution and I am still getting the error for the  CFBundleShortVersionString.  I opened the build.setting file and the  CFBundleShortVersionString = “1.0” is there. Could it not be updating in the .zip file? 

I just upgraded to the Pro to get the daily builds. That got rid of the error. 

Great!

Rob

Alright, so when is the next build coming out? I still am on the basic corona package. As a paying customer who has been working on a game for two months that I want to release this is very frustrating. I understand apple changed things up but I need to release my game pronto and this just flat out sucks. 

Thanks

We are hoping to have a public build out soon.  Because the testing process tends to discover bugs that have to be fixed, we can’t give a precise date, but we are testing now.  I’d love to give you a date, but it’s just too volatile. 

Rob

You shouldn’t have to.  If you built with Corona SDK and did not do anything with the .zip file after it’s produced, the plist should be there for you.

Can you post the entire message from Application Loader?

Rob

Okay, I tried to attach the package again and now this is the error:

The Info.plist in the package must contain the CFBundleShortVersionString key.

In your build.settings in the:

settings = {

     iphone = {

           plist = {

                  CFBundleShortVersionString = “1.0” – or what ever version you want…

                  – other stuff

           }

     }

}

This will be set for you in the next public build.  This is just a requirement for the current public build.

Rob