Build.settings file

Hi All,
Just trying to find what goes in the build.settings file - have found some examples but are dated.
Are there changes needed for iPhone 5 etc…
below is one i found

settings =
{
orientation =
{
default = “landscapeRight”,
supported =
{
“landscapeRight”,
},
},

iphone =
{

plist =
{
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles = {
“Icon.png” ,
“Icon@2x.png” ,
“Icon-72.png” ,
},
},
},
}

So this one has
iphone =
{

in it. Now if you are building an iPad App would you change this to iPad ?
What about a universal App - would you need iPhone section and then also an iPad section?
this example has 3 icons in it but others i have seen with -small etc…
On looking at Apple developer site - my count is 8 icon’s so far
Icon.png 57
Icon@2x.png 114
Icon-72.png 72
Icon-72@2x.png 144
Icon - Small.png 29
Icon - Small@2x.png 58
Icon - Small - 50.png 50
Icon - Small - 50@2x.png 100

What do we have to have to get accepted - anyone who recently passed submission want to post thier build.settings file as an example to us newbies?
T

[import]uid: 199068 topic_id: 35546 reply_id: 335546[/import]

Here is a fairly complex one that I used on an app.

settings =  
{  
 iphone =  
 {  
 plist=  
 {  
 UIInterfaceOrientation = "UIInterfaceOrientationLandscapeRight",  
 UISupportedInterfaceOrientations =  
 {  
 "UIInterfaceOrientationLandscapeRight",  
 "UIInterfaceOrientationLandscapeLeft"  
 },  
 CoronaUseIOS6LandscapeOnlyWorkaround = true,  
 MinimumOSVersion="4.3",  
 UIApplicationExitsOnSuspend = false,  
 UIPrerenderedIcon=true,  
 UIStatusBarHidden=true,  
 CFBundleIconFile = "Icon.png",  
 CFBundleIconFiles = {  
 "Icon.png" ,   
 "Icon@2x.png" ,   
 "Icon-72.png" ,   
 "Icon-Small-50.png",  
 "Icon-Small-50@2x.png",   
 "Icon-Small.png" ,   
 "Icon-Small@2x.png"  
 },  
 CFBundleURLTypes = {  
 CFBundleURLSchemes = {  
 "fb1234567890123456",  
 },  
 },  
 UIAppFonts =  
 {  
 "actionj.ttf",  
 "oogieboogie.ttf",  
 "SAF.ttf",  
 "curlycue.ttf"  
 },  
 },  
 },  
 android =  
 {  
 permissions =  
 {  
 { name = ".permission.C2D\_MESSAGE", protectionLevel = "signature" },  
 },  
 usesPermissions =  
 {  
 "android.permission.INTERNET",  
 "android.permission.GET\_ACCOUNTS",  
 "android.permission.RECEIVE\_BOOT\_COMPLETED",  
 "com.google.android.c2dm.permission.RECEIVE",  
 ".permission.C2D\_MESSAGE",  
 },  
 },  
 orientation =  
 {  
 default = "landscapeRight",  
 supported = { "landscapeRight", "landscapeLeft" },  
 },  
}  

But it seems like you’re really concerned about the icons. If you’re doing an iPhone only app, you need:

Icon.png 57x57
Icon@2x.png 114x114

If you’re doing iPad only, you need:

Icon-72.png 72x72
Icon-72@2x.png 144x144

Universal you need all four. However, Apple uses other icons for their spotlight search, and there are two versions for the iPhones and 2 versions for the iPad, and those are the -Small icons. Those are optional.

If you’re doing anything with Android, the icons do not get listed in build.settings, they just have to be in the folder with main.lua and are:

Icon-ldpi.png 36x36 (and thats Capital I and lower case L in front of the dpi)
Icon-mdpi.png 48x48
Icon-hdpi.png 64x64
Icon-xhdpi.png 96x96

[import]uid: 199310 topic_id: 35546 reply_id: 141335[/import]

Thanks Rob,

That is quite advanced.
The key point in there was

“If you’re doing anything with Android, the icons do not get listed in build.settings, they just have to be in the folder with main.lua and are:”

So Android you don’t have to list - therefore with Apple you DO have to list all the icon’s.

At the moment My Baby works great in the Corona simulator - but that is a kind of safe environment -
Just load your Main.lua, scene.lua’s, grab a copy of the Ultimate config.lua, and rustle up a copy of a build.settings file - and your good to go.
But now it’s time to deal with apple - with guys way above my pay scale in terms of knowledge - to pass the submission process!
Something i am a little weary of - a case of looking into my future and hearing myself saying

" ah Hun, not tonight i got one hell of a headache " - the strange thing being - I’m A GUY!

I understand the orientation part of build settings and how that works, although your example above is different to others i’ve seen - If i am understanding correctly your app appears to be only a landscape app line 7 - 13 for apple and then lines 59/60 ( thats what i’ve seen B4) for android.

UIApplicationExitsOnSuspend = false,
this one I assume (pretty sure - hopefully) is the one line that simply handles the user/phone doing something outside of my game ( phone calls, user pushes exit button) if your game is complicated or uses time then you have to do extra stuff - but it’s kind of like a pause button ( on hold type thing).

UIPrerenderedIcon=true,
this one if set to false means Apple will shine and round your Icon - true means you have done that work.
UIStatusBarHidden=true,
-I have been doing this on each .lua file - can you do it here once and then forget about it?

And then the Icons
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles = {

  • looks like an - Identify core filename - then list associated filenames - type situation

So to try and avoid a potential headache it’s probably best to only list the 4 (minimum required) and if so inclined add the others via an update later.
Something i’m more inclined to do, a kind of “get butts on seats, then worry about how to feed them”

Thanks Rob - your gone some way towards reducing the likelihood of a cranium event.

Just one more thing was your app only an iPhone one? - hence your use of
settings =
{
iphone =
{
would this work for iPad only?, Universal? Is iphone an “apple” signal just as iphone instructions can be used for iPod Touch.
T. [import]uid: 199068 topic_id: 35546 reply_id: 141346[/import]

I understand the orientation part of build settings and how that works, although your example above is different to others i’ve seen - If i am understanding correctly your app appears to be only a landscape app line 7 - 13 for apple and then lines 59/60 ( thats what i’ve seen B4) for android.

Correct, this is a landscape only app. Line’s 59-60 are for Corona which also covers Android.

UIApplicationExitsOnSuspend = false,
this one I assume (pretty sure - hopefully) is the one line that simply handles the user/phone doing something outside of my game ( phone calls, user pushes exit button) if your game is complicated or uses time then you have to do extra stuff - but it’s kind of like a pause button ( on hold type thing).

Sort of. If you set this to false, your app goes into the background and is paused. When the user selects your app again, your app resumes where it left off. You get events that give you a very short period of time to pause timers and such and another event when you resume to restart things where you left on. If you set it to true, if you get a call, or someone presses the home button, it will clean exit the app. Apple will likely reject the app if you do this without a good reason.

UIPrerenderedIcon=true,
this one if set to false means Apple will shine and round your Icon - true means you have done that work.

Correct.

UIStatusBarHidden=true,
-I have been doing this on each .lua file - can you do it here once and then forget about it?

First you don’t need to do this on each lua file. Turning it off in main.lua is fine. What this does is tells Apple to turn it off while it’s launching the app and hide it before the app starts. Without this, you will see the the status bar for a few seconds before Corona turns it off.

**And then the Icons
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles = {

  • looks like an - Identify core filename - then list associated filenames - type situation

So to try and avoid a potential headache it’s probably best to only list the 4 (minimum required) and if so inclined add the others via an update later.
Something i’m more inclined to do, a kind of “get butts on seats, then worry about how to feed them”**
Apple used to only support the one Icon.png file and you used the single entry to specify. When they needed to include the iPad and the Retina phones, they changed to using an array of icon entries, but they left the other in for backwards compatibility. They made another change when Newstand was introduced and another icon bundle was added.

I would simply use what’s there and make sure you provide all the icons. Apple won’t reject you if you don’t include the “small” ones, but it doesn’t hurt to provide them.

Just one more thing was your app only an iPhone one? - hence your use of
settings =
{
iphone =
{
would this work for iPad only?, Universal? Is iphone an “apple” signal just as iphone instructions can be used for iPod Touch.

I’m not 100% sure, but I suspect this is just a carry over because Corona used to just cover the iPhone, but it works for the iPhone, iPad and iPod Touches.
[import]uid: 199310 topic_id: 35546 reply_id: 141360[/import]

Thanks again Rob,
Thats a nice point by point clarification.

I was looking for something like this but just couldn’t find anything - it was like a case of are my concerns of such a simple obvious nature that every one else knows the answer yet does not discuss it as they think it’s so simple everyone should know.
I just perfer to have a average amount of understanding of a concept - rather than a “oh just use this one build.settings file” kind of approach.

I hope today to get my baby onto my iPad/iPod so am now just looking through the tuts on apple proviso’s etc…

One more question.
I was searching around and found some info about updating things.

I currently have an Xcode update waiting for me it came in on 28th Jan.
My corona is the last public build (971) -yeah would love to add in iAds but - small steps.
I believe i saw something regarding this Xcode update in the last couple of days on corona’s site.

Is there a potential problem if i update Xcode now and then try and build using corona 971 today?
or should i not update Xcode until the new public build gets released??
thanks
T.
[import]uid: 199068 topic_id: 35546 reply_id: 141365[/import]

If you want to release with iOS 6.1’s SDK you will need to upgrade Xcode to the 4.6 release. But if you stay with build 971, which doesn’t support 6.1, your current Xcode (4.5?) should be good to go. [import]uid: 199310 topic_id: 35546 reply_id: 141366[/import]

Yeah baby,
It’s alive it’s alive.
Thanks Rob for the last bit of help there - my baby is out of the simulator and onto the device.
so - kind of left the backyard - but still in the street and visible from the house.
Next step put it on a bike and send if out onto the highway. Heres hoping the crash helmet works.
Thanks
T.
[import]uid: 199068 topic_id: 35546 reply_id: 141371[/import]

HI Again,
Couple more questions.

  1. i got two files from the Ad hoc build with Corona - 1) application, & 2) a zip file - both same name.

My assumption is they are both the same and Corona made a zip copy for us to be nice.

But i seem to remember reading that none of our graphics etc… get sent in the build process (FAQ area) but then if it is zipped would that stuff not be left out?

I think we upload a zip file to Apple and is this the one Corona is providing? ( I have not sumbitted B4, and have not done a Deploy build as yet with corona.

  1. I was expecting a build for operating system box to come up but swear i didn’t see this,am i right?
    This kind of links to another Q about your build.settings

MinimumOSVersion=“4.3”,

I didn’t include this in mine. - but will probably in the future - so 4.3 covers most of the apple products out there? I’m new to apple really - have my MacBook Pro 2012 13" std, IPad retina, and iPod 4th Gen Touch.

  1. So on the actual device - my splash screen basically flashes up for 1 second if that - this i can live with as it is my trading name, and not the actual game name which is where i planned to focus.
    From a marketing point of view the app store is all about branding - getting a message to stand out amongst all the other traffic in the app store.
    Q)- I push exit button on the ipad and it closes down - then push my icon and i open up right back where i was - I would love to get a Micro splash of the game name in there - an opportunity to reinforce the game brand. Any thoughts or clues to where i could find info on how to implement this.

I think it might involve performWithDelay - some thing i’m not quite accomplished with as yet - i can get it to work but other times can’t - so need more work to understand it.

Thanks
T.
[import]uid: 199068 topic_id: 35546 reply_id: 141628[/import]

  1. We produce both a .zip file and an uncompressed app bundle. For AdHoc, you use the uncompressed app bundle to install on your device. When it comes time to upload to Apple, the App Uploader will want the zipped file. No need to mess with either one of them.

  2. 4.3 is the oldest supported OS I think. If you leave it out, it will be supported on all devices, but lets say you want to use the new native.showPopup(“twitter”) feature, that requires iOS 5.0, so you would, if that’s a required feature for your app, set that minimum OS to 5.0 to exclude the older OS’s that wouldn’t support it. Think of it as a way to eliminate older operating systems.

  3. You could, when you get an applicationResume or in your main.lua have your own splash screen that you leave up for a couple of seconds.
    [import]uid: 199310 topic_id: 35546 reply_id: 141629[/import]

Here is a fairly complex one that I used on an app.

settings =  
{  
 iphone =  
 {  
 plist=  
 {  
 UIInterfaceOrientation = "UIInterfaceOrientationLandscapeRight",  
 UISupportedInterfaceOrientations =  
 {  
 "UIInterfaceOrientationLandscapeRight",  
 "UIInterfaceOrientationLandscapeLeft"  
 },  
 CoronaUseIOS6LandscapeOnlyWorkaround = true,  
 MinimumOSVersion="4.3",  
 UIApplicationExitsOnSuspend = false,  
 UIPrerenderedIcon=true,  
 UIStatusBarHidden=true,  
 CFBundleIconFile = "Icon.png",  
 CFBundleIconFiles = {  
 "Icon.png" ,   
 "Icon@2x.png" ,   
 "Icon-72.png" ,   
 "Icon-Small-50.png",  
 "Icon-Small-50@2x.png",   
 "Icon-Small.png" ,   
 "Icon-Small@2x.png"  
 },  
 CFBundleURLTypes = {  
 CFBundleURLSchemes = {  
 "fb1234567890123456",  
 },  
 },  
 UIAppFonts =  
 {  
 "actionj.ttf",  
 "oogieboogie.ttf",  
 "SAF.ttf",  
 "curlycue.ttf"  
 },  
 },  
 },  
 android =  
 {  
 permissions =  
 {  
 { name = ".permission.C2D\_MESSAGE", protectionLevel = "signature" },  
 },  
 usesPermissions =  
 {  
 "android.permission.INTERNET",  
 "android.permission.GET\_ACCOUNTS",  
 "android.permission.RECEIVE\_BOOT\_COMPLETED",  
 "com.google.android.c2dm.permission.RECEIVE",  
 ".permission.C2D\_MESSAGE",  
 },  
 },  
 orientation =  
 {  
 default = "landscapeRight",  
 supported = { "landscapeRight", "landscapeLeft" },  
 },  
}  

But it seems like you’re really concerned about the icons. If you’re doing an iPhone only app, you need:

Icon.png 57x57
Icon@2x.png 114x114

If you’re doing iPad only, you need:

Icon-72.png 72x72
Icon-72@2x.png 144x144

Universal you need all four. However, Apple uses other icons for their spotlight search, and there are two versions for the iPhones and 2 versions for the iPad, and those are the -Small icons. Those are optional.

If you’re doing anything with Android, the icons do not get listed in build.settings, they just have to be in the folder with main.lua and are:

Icon-ldpi.png 36x36 (and thats Capital I and lower case L in front of the dpi)
Icon-mdpi.png 48x48
Icon-hdpi.png 64x64
Icon-xhdpi.png 96x96

[import]uid: 199310 topic_id: 35546 reply_id: 141335[/import]

Thanks Rob,

That is quite advanced.
The key point in there was

“If you’re doing anything with Android, the icons do not get listed in build.settings, they just have to be in the folder with main.lua and are:”

So Android you don’t have to list - therefore with Apple you DO have to list all the icon’s.

At the moment My Baby works great in the Corona simulator - but that is a kind of safe environment -
Just load your Main.lua, scene.lua’s, grab a copy of the Ultimate config.lua, and rustle up a copy of a build.settings file - and your good to go.
But now it’s time to deal with apple - with guys way above my pay scale in terms of knowledge - to pass the submission process!
Something i am a little weary of - a case of looking into my future and hearing myself saying

" ah Hun, not tonight i got one hell of a headache " - the strange thing being - I’m A GUY!

I understand the orientation part of build settings and how that works, although your example above is different to others i’ve seen - If i am understanding correctly your app appears to be only a landscape app line 7 - 13 for apple and then lines 59/60 ( thats what i’ve seen B4) for android.

UIApplicationExitsOnSuspend = false,
this one I assume (pretty sure - hopefully) is the one line that simply handles the user/phone doing something outside of my game ( phone calls, user pushes exit button) if your game is complicated or uses time then you have to do extra stuff - but it’s kind of like a pause button ( on hold type thing).

UIPrerenderedIcon=true,
this one if set to false means Apple will shine and round your Icon - true means you have done that work.
UIStatusBarHidden=true,
-I have been doing this on each .lua file - can you do it here once and then forget about it?

And then the Icons
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles = {

  • looks like an - Identify core filename - then list associated filenames - type situation

So to try and avoid a potential headache it’s probably best to only list the 4 (minimum required) and if so inclined add the others via an update later.
Something i’m more inclined to do, a kind of “get butts on seats, then worry about how to feed them”

Thanks Rob - your gone some way towards reducing the likelihood of a cranium event.

Just one more thing was your app only an iPhone one? - hence your use of
settings =
{
iphone =
{
would this work for iPad only?, Universal? Is iphone an “apple” signal just as iphone instructions can be used for iPod Touch.
T. [import]uid: 199068 topic_id: 35546 reply_id: 141346[/import]

I understand the orientation part of build settings and how that works, although your example above is different to others i’ve seen - If i am understanding correctly your app appears to be only a landscape app line 7 - 13 for apple and then lines 59/60 ( thats what i’ve seen B4) for android.

Correct, this is a landscape only app. Line’s 59-60 are for Corona which also covers Android.

UIApplicationExitsOnSuspend = false,
this one I assume (pretty sure - hopefully) is the one line that simply handles the user/phone doing something outside of my game ( phone calls, user pushes exit button) if your game is complicated or uses time then you have to do extra stuff - but it’s kind of like a pause button ( on hold type thing).

Sort of. If you set this to false, your app goes into the background and is paused. When the user selects your app again, your app resumes where it left off. You get events that give you a very short period of time to pause timers and such and another event when you resume to restart things where you left on. If you set it to true, if you get a call, or someone presses the home button, it will clean exit the app. Apple will likely reject the app if you do this without a good reason.

UIPrerenderedIcon=true,
this one if set to false means Apple will shine and round your Icon - true means you have done that work.

Correct.

UIStatusBarHidden=true,
-I have been doing this on each .lua file - can you do it here once and then forget about it?

First you don’t need to do this on each lua file. Turning it off in main.lua is fine. What this does is tells Apple to turn it off while it’s launching the app and hide it before the app starts. Without this, you will see the the status bar for a few seconds before Corona turns it off.

**And then the Icons
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles = {

  • looks like an - Identify core filename - then list associated filenames - type situation

So to try and avoid a potential headache it’s probably best to only list the 4 (minimum required) and if so inclined add the others via an update later.
Something i’m more inclined to do, a kind of “get butts on seats, then worry about how to feed them”**
Apple used to only support the one Icon.png file and you used the single entry to specify. When they needed to include the iPad and the Retina phones, they changed to using an array of icon entries, but they left the other in for backwards compatibility. They made another change when Newstand was introduced and another icon bundle was added.

I would simply use what’s there and make sure you provide all the icons. Apple won’t reject you if you don’t include the “small” ones, but it doesn’t hurt to provide them.

Just one more thing was your app only an iPhone one? - hence your use of
settings =
{
iphone =
{
would this work for iPad only?, Universal? Is iphone an “apple” signal just as iphone instructions can be used for iPod Touch.

I’m not 100% sure, but I suspect this is just a carry over because Corona used to just cover the iPhone, but it works for the iPhone, iPad and iPod Touches.
[import]uid: 199310 topic_id: 35546 reply_id: 141360[/import]

Thanks again Rob,
Thats a nice point by point clarification.

I was looking for something like this but just couldn’t find anything - it was like a case of are my concerns of such a simple obvious nature that every one else knows the answer yet does not discuss it as they think it’s so simple everyone should know.
I just perfer to have a average amount of understanding of a concept - rather than a “oh just use this one build.settings file” kind of approach.

I hope today to get my baby onto my iPad/iPod so am now just looking through the tuts on apple proviso’s etc…

One more question.
I was searching around and found some info about updating things.

I currently have an Xcode update waiting for me it came in on 28th Jan.
My corona is the last public build (971) -yeah would love to add in iAds but - small steps.
I believe i saw something regarding this Xcode update in the last couple of days on corona’s site.

Is there a potential problem if i update Xcode now and then try and build using corona 971 today?
or should i not update Xcode until the new public build gets released??
thanks
T.
[import]uid: 199068 topic_id: 35546 reply_id: 141365[/import]

If you want to release with iOS 6.1’s SDK you will need to upgrade Xcode to the 4.6 release. But if you stay with build 971, which doesn’t support 6.1, your current Xcode (4.5?) should be good to go. [import]uid: 199310 topic_id: 35546 reply_id: 141366[/import]

Yeah baby,
It’s alive it’s alive.
Thanks Rob for the last bit of help there - my baby is out of the simulator and onto the device.
so - kind of left the backyard - but still in the street and visible from the house.
Next step put it on a bike and send if out onto the highway. Heres hoping the crash helmet works.
Thanks
T.
[import]uid: 199068 topic_id: 35546 reply_id: 141371[/import]

Some great pointers here for build.settings file that i am now using also in my own game, thanks Rob! [import]uid: 175094 topic_id: 35546 reply_id: 142086[/import]

HI Again,
Couple more questions.

  1. i got two files from the Ad hoc build with Corona - 1) application, & 2) a zip file - both same name.

My assumption is they are both the same and Corona made a zip copy for us to be nice.

But i seem to remember reading that none of our graphics etc… get sent in the build process (FAQ area) but then if it is zipped would that stuff not be left out?

I think we upload a zip file to Apple and is this the one Corona is providing? ( I have not sumbitted B4, and have not done a Deploy build as yet with corona.

  1. I was expecting a build for operating system box to come up but swear i didn’t see this,am i right?
    This kind of links to another Q about your build.settings

MinimumOSVersion=“4.3”,

I didn’t include this in mine. - but will probably in the future - so 4.3 covers most of the apple products out there? I’m new to apple really - have my MacBook Pro 2012 13" std, IPad retina, and iPod 4th Gen Touch.

  1. So on the actual device - my splash screen basically flashes up for 1 second if that - this i can live with as it is my trading name, and not the actual game name which is where i planned to focus.
    From a marketing point of view the app store is all about branding - getting a message to stand out amongst all the other traffic in the app store.
    Q)- I push exit button on the ipad and it closes down - then push my icon and i open up right back where i was - I would love to get a Micro splash of the game name in there - an opportunity to reinforce the game brand. Any thoughts or clues to where i could find info on how to implement this.

I think it might involve performWithDelay - some thing i’m not quite accomplished with as yet - i can get it to work but other times can’t - so need more work to understand it.

Thanks
T.
[import]uid: 199068 topic_id: 35546 reply_id: 141628[/import]

  1. We produce both a .zip file and an uncompressed app bundle. For AdHoc, you use the uncompressed app bundle to install on your device. When it comes time to upload to Apple, the App Uploader will want the zipped file. No need to mess with either one of them.

  2. 4.3 is the oldest supported OS I think. If you leave it out, it will be supported on all devices, but lets say you want to use the new native.showPopup(“twitter”) feature, that requires iOS 5.0, so you would, if that’s a required feature for your app, set that minimum OS to 5.0 to exclude the older OS’s that wouldn’t support it. Think of it as a way to eliminate older operating systems.

  3. You could, when you get an applicationResume or in your main.lua have your own splash screen that you leave up for a couple of seconds.
    [import]uid: 199310 topic_id: 35546 reply_id: 141629[/import]

Some great pointers here for build.settings file that i am now using also in my own game, thanks Rob! [import]uid: 175094 topic_id: 35546 reply_id: 142086[/import]