[resolved] Latest Daily Build add almost 1MB of bloat

I grabbed daily build 820 and make a release build for iOS. My ZIP file for upload to Apple went from 49.6 MB to 50.5 MB. That’s almost 1 MB extra added and as far as I can tell from the latest logs there isn’t anything new that should account for this.

In my particular case it also means that I go from being under 50MB and not requiring WiFi, to being over 50MB and now users need WiFi to download my app.

How to reproduce:

  1. Build for iOS with Corona 815, note size of .ZIP
  2. Build for iOS with Corona 820, note size of .ZIP
  3. Compare difference. New build is now 0.8MB larger.

What new features were added to justify this extra space? Does anyone have any idea? [import]uid: 16734 topic_id: 26685 reply_id: 326685[/import]

I dont know why, but on the AppStore isn’t the download limit set to 20mb for non-wifi connections? [import]uid: 147305 topic_id: 26685 reply_id: 108117[/import]

No, about a month ago Apple changed it to 50MB. [import]uid: 16734 topic_id: 26685 reply_id: 108122[/import]

Are you using OpenFeint? We recently updated the OpenFeint version. OpenFeint is really big to start with.

[import]uid: 7563 topic_id: 26685 reply_id: 108125[/import]

@ewing,

I use Game Center for iOS, and openFeint for Android. My iOS build size shouldn’t get increased if I don’t use openFeint on iOS, correct? [import]uid: 16734 topic_id: 26685 reply_id: 108127[/import]

You have to specify the components option in build.settings to explicitly omit OpenFeint when building for iOS. Otherwise, we include OpenFeint for backwards compatibility reasons.
[import]uid: 7563 topic_id: 26685 reply_id: 108129[/import]

Please point me at the documentation that specifies what to put in the build.settings file to explicitly exclude OpenFeint.

If I do that, then does that mean the game will require 5.0+ iOS or will it still work with iOS 4.3+? [import]uid: 16734 topic_id: 26685 reply_id: 108130[/import]

That’s a great question. Replying so I can see the answer. [import]uid: 44647 topic_id: 26685 reply_id: 108132[/import]

http://blog.anscamobile.com/2012/01/tutorial-game-center-integration-ios/ [import]uid: 7563 topic_id: 26685 reply_id: 108133[/import]

Game Center works with iOS 4.3 though there are some subtle differences in behavior. We denote a few in the gameNetwork.request() and Apple’s docs explain other differences like iOS 5.0 auto-stores requests when offline and submits them automatically when you go back online, whereas 4.3 does not.
[import]uid: 7563 topic_id: 26685 reply_id: 108136[/import]

@ewing,

Thanks for the quick reply. I know you and the team at Ansca are very busy so I appreciate you taking the time to answer this.

My only remaining question is if I explicitly exclude openFeint per the Tutorial link you provided, will it change what version of iOS my app supports?

I realize that may sound like a silly question, but I vaguely recall something changing in Game Center with iOS 5+

Thanks again. [import]uid: 16734 topic_id: 26685 reply_id: 108135[/import]

Thanks ewing! [import]uid: 16734 topic_id: 26685 reply_id: 108137[/import]

@ewing,

My apps all had this in the build.settings:

settings =  
{  
 iphone =  
 {  
 plist =  
 {  
 components = {},  
 }  
 }  
}  

I have other settings for my icons, etc, but these are not important to this discussion.

According the the documentation for build.settings this is the correct place to put it.

Therefore, the added bloat is NOT due to the recent OpenFeint changes unless there is a bug and it is not respecting the build.settings.

Any other ideas what could be causing the bloat in the latest build? [import]uid: 16734 topic_id: 26685 reply_id: 108161[/import]

You put components in the wrong place. It is not supposed to be a child of plist (it is a peer).

Tom did some test builds for us today and confirmed that the new OpenFeint is 1.1 MB larger. Also, somehow Corona shrunk 100KB for the non-OpenFeint template. (Both numbers are iOS.) We’re not sure what was responsible for that.
[import]uid: 7563 topic_id: 26685 reply_id: 108163[/import]

Ok. Yes, the placement was based on about 4 or 5 different “examples” in the forums. The components element is NOT documented in your Configuration Options page here:

http://developer.anscamobile.com/content/configuring-projects

This is one of the biggest issues that developers have. The documentation is often out-of-date or the most accurate documentation is found in the forums. This makes it difficult to know where to find proper documentation.

That being said, thank you for making it clear which placement is correct for the components element.

[import]uid: 16734 topic_id: 26685 reply_id: 108167[/import]

Hi. Is adding that line to the build settings going to save me lots of MB in size? I am not using Game Center or OpenFeint at all. What is the final documentation on its usage, if it’s not available can you state it here? [import]uid: 99244 topic_id: 26685 reply_id: 108175[/import]

It will save you 1.1MB of memory on disc (your APK or IPA size) and however much memory that code utilizes.

I changed my build.settings to what’s shown below. You may want different options.

[lua]settings =
{
orientation =
{
default = “landscapeRight”,
supported =
{
“landscapeLeft”, “landscapeRight”,
},
},

androidPermissions =
{
“android.permission.INTERNET”,
“android.permission.ACCESS_NETWORK_STATE”,
“android.permission.WRITE_EXTERNAL_STORAGE”
},

iphone =
{
components = {},
plist=
{
UIHiddenStatusBar= true,
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles =
{
“Icon.png”,
“Icon@2x.png”,
“Icon-72.png”,
},
}
}
}[/lua] [import]uid: 16734 topic_id: 26685 reply_id: 108178[/import]

I’m unhappy about the documentation situation too. We’re trying to fix that.

The components feature is new (introduced with Game Center) and is currently only in Daily Builds. It only works for iOS right now.

If you don’t use Game Network in your code (and are not a Trial user), you won’t get OpenFeint included with iOS builds. (You currently always get it with Android builds regardless.)

On iOS, I thought the OpenFeint size was more than 1.1MB. I thought the 1.1MB was just the difference between the old version and new version.

On Android, the OpenFeint size is smaller than the iOS counterpart.

[import]uid: 7563 topic_id: 26685 reply_id: 108203[/import]