Results 1 to 4 of 4

Thread: Invalid Binary - iPhone 5 Optimization Requirement

  1. #1

    Default Invalid Binary - iPhone 5 Optimization Requirement

    Getting "Invalid Binary" in iTunes Connect using Sencha Cmd v3.1.2.342 and Sencha Touch 2.2.1. The package command completes with no issues, so it seems my package.json is correct. I've been debugging on actual iOS devices prior to trying to package for distribution.

    From Apple:


    iPhone 5 Optimization Requirement - Your binary is not optimized for iPhone 5. As of May 1, all new iPhone apps and app updates submitted must support the 4-inch display on iPhone 5. All apps must include a launch image with the -568h size modifier immediately following the <basename> portion of the launch image's filename. Launch images must be PNG files and located at the top-level of your bundle, or provided within each .lproj folder if you localize your launch images. Learn more about iPhone 5 support and app launch images by reviewing the iOS Human Interface Guidelines and iOS App Programming Guide.
    I noticed when I ran package with the -d option, I get:


    Debug: Move splash screens to the top level
    Can not open source file


    I'm following the 2.2.1 documentation with my package.json setup. I'm guessing there's something else I need to with the /resources/loading/ images?

    Anyone have any experience with this issue?

  2. #2

    Default Possible Solution

    First, it appears the 2.2.1 docs are incorrect (http://docs.sencha.com/touch/2.2.1/#...tive_packaging). It states you should run:

    Code:
    sencha app package config.json
    However, it should be:

    Code:
    sencha app package build config.json
    That's according to Sencha Cmd v3.1.2.342.

    * build - Packages an app with the given configuration file
    That said, running the following doesn't package the app properly for iOS:

    Code:
    sencha app package build ios.json
    For me, even though the JSON config generated no errors, it failed to move the startup images into the package root and caused my "Invalid Binary" issues. As well, it doesn't include the "embedded.mobileprovision" file that the Xcode Application Loader griped about not being there when uploading the app.

    So, I went digging around in Sencha Cmd and build docs (http://docs.sencha.com/touch/2.2.1/#!/guide/building).

    I renamed my ios.json back to the default packager.json file, I could then run:

    Code:
    sencha app build native
    That packaged up the files properly into /build/[App]/package/ and subsequently packaged the app into /build/[App]/native/. That seems to have worked properly for iOS. Thanks for making that one awesome step!

    For Android, this method still works properly for me and I can point the "inputPath" to /build/[App]/package/ in android.json:

    Code:
    sencha app package build android.json
    ---

    All said, a couple things missing from the 2.2.1 docs that threw me:
    1. Package command should be "sencha app package build config.json"
    2. It seems only "sencha app build native" packages up the startup images properly with Sencha Cmd v3.1.2.342
    Next, Application Loader was complaining about the missing "embedded.mobileprovision" file. I had to add this to my Sencha Touch project files and to app.json in "resources".

    Last, the "Invalid Binary" issue was also caused because I didn't have a iOS 5-6 compatible startup image. The SDK needs to add a file named "[email protected]" to /resources/loading/. The dimensions are 640x1136.

    ...

    My app is "Waiting for Review" now, so we'll see if to makes it through given these changes.

  3. #3
    Sencha User
    Join Date
    May 2012
    Location
    Colombia
    Posts
    46

    Default

    Put into resources>loading the appropriate image file.
    You can download it from here
    https://www.dropbox.com/s/6b3w2alvho...-568h%402x.png

  4. #4

    Default

    @alexesc Thanks. I added the file already after reviewing Apple's UI docs. It's just missing from the Sencha Touch 2.2.1 SDK, which is going to cause an issue with any iOS 5 or 6 build in iTunes Connect approval. I'm assuming that's probably every app these days. Better to add it in there at the source and save people the headache.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •