Search code examples
iphoneiosextjsadhocsencha-2

Unable to install app on my iOS device ("unable to install the app" error)


I have created a Sencha sample app using the following command in the terminal:

Mac-mini-2:sencha-touch-2.0.0-commercial eit$ sencha app create mySenchaApp /path/to/www/mySenchaApp

Then I built that application as native on simulator, which worked fine on simulator, using the below command:

Mac-mini-2:mySenchaApp eit$ sencha app build native

Now I am trying to do adhoc distribution - I would like to install this app on my device. I have done the steps in this link.

This is the packager.json file:

{
    /**
     * @cfg {String} applicationName
     * @required
     * This is the name of your application, which is displayed on the device when the app is installed. On IOS, this should match
     * the name of your application in the Apple Provisioning Portal.
     */
    "applicationName":"MySenchaApp",

    /**
     * @cfg {String} applicationId
     * This is the name namespace for your application. On IOS, this should match the name of your application in the Apple Provisioning Portal.
     */
    "applicationId":"com.mydomain.keyboard",

    /**
     * @cfg {String} versionString
     * @required
     * This is the version of your application.
     */
    "versionString":"1.0",

    /**
     * @cfg {String} iconName
     * This is file name of your icon. This should be in the same directory of this configuration file.
     *
     * For iOS, please refer to their documentation about icon sizes:
     * https://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html
     *
     * For Android, please refer to the Google Launcher icons guide:
     * http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html
     */
    "iconName":"resources/icons/Icon~ipad.png",

    /**
     * @cfg {String} inputPath
     * @required
     * This is location of your Sencha Touch 2 application, relative to this configuration file.
     */
    "inputPath":"build/native",

    /**
     * @cfg {String} outputPath
     * @required
     * This is where the built application file with be saved.
     */
    "outputPath":"build/",

    /**
     * @cfg {String} configuration
     * @required
     * This is configuration for your application. `Debug` should always be used unless you are submitting your app to an online
     * store - in which case `Release` should be specified.
     */
    "configuration":"Debug",

    /**
     * @cfg {String} platform
     * @required
     * This is the platform where you will be running your application. Available options are:
     *  - iOSSimulator
     *  - iOS
     *  - Android
     *  - AndroidEmulator
     */
    "platform":"iOS",

    /**
     * @cfg {String} deviceType
     * @required
     * This is device type that your application will be running on.
     *
     * If you are developing for Android, this is not necessary.
     *
     * Available options are:
     *  - iPhone
     *  - iPad
     *  - Universal
     */
    "deviceType":"iPhone",
   
    "provisionProfile":"build/package/cc2gokeyboard(3).mobileprovision",


    /**
     * @cfg {String} certificatePath
     * This is the location of your certificate.
     * This is required when you are developing for Android or you are developing on Windows.
     */
     "certificatePath":"build/package/ios_distribution.cer",

    /**
     * @cfg {String} certificateAlias
     * This is the name of your certificate.
     *
     * IF you do not specify this on OSX, we will try and automatically find the certificate for you using the applicationId.
     *
     * This can be just a simple matcher. For example, if your certificate name is "iPhone Developer: Robert Dougan (ABCDEFGHIJ)", you
     * can just put "iPhone Developer".
     *
     * When using a certificatePath on Windows, you do not need to specify this.
     */
    "certificateAlias":"",
   
    /**
     * @cfg {String} sdkPath
     * This is the path to the Android SDK, if you are developing an Android application.
     */
    "sdkPath":"/path/to/android-sdk",
   
    /**
     * @cfg  androidAPILevel
     * This is android API level, the version of Android SDK to use, you can read more about it here: http://developer.android.com/guide/appendix/api-levels.html.
     * Be sure to install corresponding platform API in android SDK manager (android_sdk/tools/android)
     */
    "androidAPILevel":"15",

    /**
     * @cfg  orientations
     * @required
     * This is orientations that this application can run.
     */
    "orientations": [
        "portrait",
        "landscapeLeft",
        "landscapeRight",
        "portraitUpsideDown"
    ]
}

I have modified the packager.json file as above, and run this command:

$ sencha app build native

Now this has generated MySenchaApp.app in the Build /native folder.

When I tried to install this app on my device using iTunes sync, it got installed but it says unable to install the app "MySenchaApp".

I am not sure what is the problem here, is my packager.json file correct?


Solution

  • Check your provision file. Is registered your bundle in this provision ?

    Usually this error occuring when provision is wrong, or date is expired.