Danish Jamil
Danish Jamil

Reputation: 1090

App Store Application Upload error phonegap build

I've built the cordova phonegap app using phonegap build service. Now I'm trying to upload the .ipa to iOS App Store but, I'm getting the following errors.

enter image description here

Here is my config.xml

    <widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="com.error.myapp" version="1.0.0">


    <name>My App</name>
      <description>A hybrid applicatoin.</description>



    <author href="http://danish-jamil.blogspot.com" email="[email protected]">Danish Jamil</author>

  <content src="index.html"/>
  <preference name="SplashScreen" value="screen" />
  <preference name="SplashScreenDelay" value="15000" />
  <preference name="permissions" value="none"/>
  <preference name="phonegap-version" value="3.7.0"/>
  <preference name="orientation" value="vertical"/>
  <preference name="target-device" value="universal"/>
  <preference name="fullscreen" value="false"/>
  <preference name="webviewbounce" value="true"/>
  <preference name="prerendered-icon" value="true"/>
  <preference name="stay-in-webview" value="false"/>
  <preference name="ios-statusbarstyle" value="black-opaque"/>
  <preference name="detect-data-types" value="true"/>
  <preference name="exit-on-suspend" value="false"/>
  <preference name="show-splash-screen-spinner" value="true"/>
  <preference name="auto-hide-splash-screen" value="false"/>
  <preference name="disable-cursor" value="false"/>
  <preference name="android-minSdkVersion" value="10"/>
  <preference name="android-installLocation" value="auto"/>
  <gap:plugin name="org.apache.cordova.splashscreen"/>
  <icon src="icon.png"/>
  <gap:splash src="splash.png" />
    <icon src="icon.png" gap:platform="ios"/>
    <!-- iPhone 6 / 6+ -->
    <icon src="Icon-72.png" gap:platform="ios" width="180" height="180" />

    <!-- iPhone / iPod Touch  -->
    <icon src="Icon-72.png" gap:platform="ios" width="60" height="60" />
    <icon src="[email protected]" gap:platform="ios" width="120" height="120" />

    <!-- iPad -->
    <icon src="Icon-76.png" gap:platform="ios" width="76" height="76" />
    <icon src="Icon-76.png" gap:platform="ios" width="152" height="152" />

    <!-- Settings Icon -->
    <icon src="Icon-Small.png" gap:platform="ios" width="29" height="29" />
    <icon src="[email protected]" gap:platform="ios" width="57" height="57" />

    <!-- Spotlight Icon -->
    <icon src="Icon-Small-50.png" gap:platform="ios" width="40" height="40" />
    <icon src="Icon-Small-50.png" gap:platform="ios" width="80" height="80" />

</widget>

Have searched a lot but, couldn't find a solution. Any help would be appreciated.

Upvotes: 1

Views: 186

Answers (1)

Danish Jamil
Danish Jamil

Reputation: 1090

for iOS there must be splashscreens iOS < 5. So, to acheive that I added this code in config.xml

<icon src="icon.png" />
<icon gap:platform="android" gap:qualifier="ldpi" src="www/res/icon/android/icon-36-ldpi.png" />
<icon gap:platform="android" gap:qualifier="mdpi" src="www/res/icon/android/icon-48-mdpi.png" />
<icon gap:platform="android" gap:qualifier="hdpi" src="www/res/icon/android/icon-72-hdpi.png" />
<icon gap:platform="android" gap:qualifier="xhdpi" src="www/res/icon/android/icon-96-xhdpi.png" />
<icon gap:platform="blackberry" src="www/res/icon/blackberry/icon-80.png" />
<icon gap:platform="blackberry" gap:state="hover" src="www/res/icon/blackberry/icon-80.png" />
<icon gap:platform="ios" height="57" src="res/icon/ios/icon-57.png" width="57" />
<icon gap:platform="ios" height="72" src="res/icon/ios/icon-72.png" width="72" />
<icon gap:platform="ios" height="114" src="res/icon/ios/icon-57-2x.png" width="114" />
<icon gap:platform="ios" height="144" src="res/icon/ios/icon-72-2x.png" width="144" />
<icon gap:platform="webos" src="www/res/icon/webos/icon-64.png" />
<icon gap:platform="winphone" src="www/res/icon/windows-phone/icon-48.png" />
<icon gap:platform="winphone" gap:role="background" src="www/res/icon/windows-phone/icon-173-tile.png" />
<gap:splash gap:platform="android" gap:qualifier="port-ldpi" src="www/res/screen/android/screen-ldpi-portrait.png" />
<gap:splash gap:platform="android" gap:qualifier="port-mdpi" src="www/res/screen/android/screen-mdpi-portrait.png" />
<gap:splash gap:platform="android" gap:qualifier="port-hdpi" src="www/res/screen/android/screen-hdpi-portrait.png" />
<gap:splash gap:platform="android" gap:qualifier="port-xhdpi" src="www/res/screen/android/screen-xhdpi-portrait.png" />
<gap:splash gap:platform="blackberry" src="www/res/screen/blackberry/screen-225.png" />
<gap:splash gap:platform="ios" height="480" src="res/screen/ios/screen-iphone-portrait.png" width="320" />
<gap:splash gap:platform="ios" height="960" src="res/screen/ios/screen-iphone-portrait-2x.png" width="640" />
<gap:splash gap:platform="ios" height="1136" src="res/screen/ios/screen-iphone-portrait-568h-2x.png" width="640" />
<gap:splash gap:platform="ios" height="1024" src="res/screen/ios/screen-ipad-portrait.png" width="768" />
<gap:splash gap:platform="ios" height="768" src="res/screen/ios/screen-ipad-landscape.png" width="1024" />
<gap:splash gap:platform="winphone" src="www/res/screen/windows-phone/screen-portrait.jpg" />
<access origin="http://api.phptravels.org" />
<plugin name="cordova-plugin-whitelist" version="1" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
    <allow-intent href="market:*" />
</platform>
<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
</platform>

the main thing to notice here is the path. Phonegap takes icons and splash screen images relevant to the www folder. As you are already in www folder.

And for the Invalid Code Signing Entitlements : I regenerated the provision profile and cer.p12 The certificate you generate must have the same id as your phonegap app has. For example your certificate id = com.example.app then the config.xml must have the same id which you can find in widget tag on top of your config.xml file. Then in Itunes Connect go to your app > more > about and change the bundle id to your certificate id and phonegap app id. Hope it helps someone else. Happy Coding.

Upvotes: 3

Related Questions