2017-09-20 3 views
1

Je viens de terminer la construction de ma deuxième application dans PhoneGap et ce problème est survenu à nouveau, sauf que cette fois-ci il empêche l'application d'être approuvée par l'App Store et je ne peux plus l'ignorer . J'ai googlé et googlé ceci et essayé beaucoup de choses mais je ne peux pas sembler enlever l'application d'être disponible aux iPads. C'est une application pour iPhone seulement et je n'ai même pas d'iPad pour le tester, donc je ne peux même pas le faire pour que l'iPad le fasse passer dans l'App Store. J'ai inclus ma version actuelle de config.xml au bas de ce post, vous verrez que j'ai la norme:Supprimer l'iPad de la liste des appareils dans l'application PhoneGap

<preference name="target-device" value="handset" />

... et le travail supposé que j'ai trouvé autour de ce problème en ligne (ce qui semble être assez répandue, mais devrait désormais être fixé apparemment ?!):

<gap:config-file platform="ios" parent="UIDeviceFamily" mode="replace"> 
    <string>1</string> 
</gap:config-file> 

... et quand j'ai compilé le ipa dans PhoneGap construire et ouvrir dans mon itunes, il dit même qu'il est uniquement disponible pour iPhone et iPod touch:

enter image description here

... mais lorsque je le télécharge via le chargeur d'application, il apparaît dans iTunes Connect comme disponible pour les iPads et aussi dans TestFlight. Curieusement, il ne nécessite pas de captures d'écran pour iPad, ce qui me fait penser que je suis à mi-chemin, mais l'équipe d'examen insiste pour que je le rende digne d'iPad avant de le laisser entrer dans le magasin.

Voici mon plein config.xml (je l'ai XXX'd l'info sensible que ce n'est pas une application personnelle)

<widget xmlns  = "http://www.w3.org/ns/widgets" 
     xmlns:gap = "http://phonegap.com/ns/1.0" 
     id  = "XXX.XXXXXXX.XXXXXXXX" 
     version = "14"> 

    <gap:config-file platform="ios" parent="CFBundleShortVersionString"> 
     <string>1.0.0</string> 
    </gap:config-file> 

    <name>XXXXXXXX</name> 

    <description> 
     XXXXXXXXXX 
    </description> 

    <author href="http://XXXXXX.co.uk" email="[email protected]"> 
     XXXXXXXXXXX 
    </author> 

    <!-- Define the main entry-point to the application --> 
    <content src="index.html" /> 

    <!-- Customize your app and platform with the preference element. --> 
    <preference name="orientation" value="portrait" />  <!-- all: default means both landscape and portrait are enabled --> 
    <preference name="target-device" value="handset" />  <!-- all: possible values handset, tablet, or universal --> 
    <preference name="fullscreen" value="true" />   <!-- all: hides the status bar at the top of the screen --> 
    <preference name="webviewbounce" value="true" />   <!-- ios: control whether the screen 'bounces' when scrolled beyond the top --> 
    <preference name="prerendered-icon" value="true" />   <!-- ios: if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen --> 
    <preference name="stay-in-webview" value="false" />   <!-- ios: external links should open in the default browser, 'true' would use the webview the app lives in --> 
    <preference name="ios-statusbarstyle" value="default" /> <!-- ios: black-translucent will appear black because the PhoneGap webview doesn't go beneath the status bar --> 
    <preference name="detect-data-types" value="false" />   <!-- ios: controls whether data types (such as phone no. and dates) are automatically turned into links by the system --> 
    <preference name="exit-on-suspend" value="true" />   <!-- ios: if set to true, app will terminate when home button is pressed --> 
    <preference name="show-splash-screen-spinner" value="true" />   <!-- ios: if set to false, the spinner won't appear on the splash screen during app loading --> 
    <preference name="auto-hide-splash-screen" value="true" />   <!-- ios: if set to false, the splash screen must be hidden using a JavaScript API --> 
    <preference name="deployment-target" value="8.0" /> 
    <preference name="phonegap-version" value="cli-6.5.0" /> 

    <!-- Plugins --> 
    <!-- Core plugins --> 
    <plugin name="cordova-plugin-console"    source="npm" spec="~1.0.2" /> 
    <plugin name="cordova-plugin-device"    source="npm" spec="~1.1.1" /> 
    <plugin name="cordova-plugin-dialogs"    source="npm" spec="~1.2.0" /> 
    <plugin name="cordova-plugin-inappbrowser"  source="npm" spec="~1.3.0" /> 
    <plugin name="cordova-plugin-network-information" source="npm" spec="~1.2.0" /> 
    <plugin name="cordova-plugin-splashscreen"  source="npm" spec="~3.2.1" /> 
    <plugin name="cordova-plugin-statusbar"   source="npm" spec="~2.1.2" /> 
    <plugin name="cordova-plugin-vibration"   source="npm" spec="~2.1.0" /> 
    <plugin name="cordova-plugin-whitelist"   source="npm" spec="~1.2.1" /> 

    <gap:config-file platform="ios" parent="ITSAppUsesNonExemptEncryption" mode="add"> 
     <false/> 
    </gap:config-file> 

    <gap:config-file platform="ios" parent="UIDeviceFamily" mode="replace"> 
     <string>1</string> 
    </gap:config-file> 

    <!-- Define app icon and splashscreen for each platform. --> 
    <icon src="icon.png" gap:platform="ios" width="57" height="57"/> 

    <icon src="res/icon/ios/icon-57.png" gap:platform="ios" width="57" height="57"/> 
    <icon src="res/icon/ios/[email protected]" gap:platform="ios" width="114" height="114"/> 

    <icon src="res/icon/ios/icon-72.png" gap:platform="ios" width="72" height="72"/> 
    <icon src="res/icon/ios/[email protected]" gap:platform="ios" width="144" height="144"/> 

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

    <!-- iPhone 6/6+ --> 
    <icon src="res/icon/ios/[email protected]" gap:platform="ios" width="180" height="180" /> 

    <!-- Settings Icon --> 
    <icon src="res/icon/ios/icon-small.png" platform="ios" width="29" height="29" /> 
    <icon src="res/icon/ios/[email protected]" platform="ios" width="58" height="58" /> 
    <icon src="res/icon/ios/[email protected]" platform="ios" width="87" height="87" /> 

    <!-- Spotlight Icon --> 
    <icon src="res/icon/ios/icon-40.png" platform="ios" width="40" height="40" /> 
    <icon src="res/icon/ios/[email protected]" platform="ios" width="80" height="80" /> 
    <icon src="res/icon/ios/[email protected]" platform="ios" width="120" height="120" /> 

    <!-- iPhone and iPod touch --> 
    <gap:splash src="res/screen/ios/Default.png" gap:platform="ios" width="320" height="480" /> 
    <gap:splash src="res/screen/ios/[email protected]" gap:platform="ios" width="640" height="960" /> 

    <!-- iPhone 5/iPod Touch (5th Generation) --> 
    <gap:splash src="res/screen/ios/Default-568h.png" gap:platform="ios" width="320" height="568" /> 
    <gap:splash src="res/screen/ios/[email protected]" gap:platform="ios" width="640" height="1136" /> 

    <!-- iPhone 6 --> 
    <gap:splash src="res/screen/ios/[email protected]" gap:platform="ios" width="750" height="1334" /> 
    <gap:splash src="res/screen/ios/[email protected]" gap:platform="ios" width="1242" height="2208" /> 
    <gap:splash src="res/screen/ios/[email protected]" gap:platform="ios" width="2208" height="1242" /> 

    <access origin="*" /> 

    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-intent href="tel:*" /> 
    <allow-intent href="sms:*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-intent href="geo:*" /> 

</widget> 

J'ai aussi vu juste que même dans iTunes Connect, lorsque Je clique sur le build, il le liste comme iPhone/iPod touch sans iPad ... c'est seulement quand il est en TestFlight et soumis pour examen qu'il semble être disponible pour iPad ?! Où vais-je d'ici ?!

enter image description here

Et je viens de trouver un moyen de voir la plist de la même ipa et là les appareils sont répertoriés comme 1 correctement. Je suis totalement déconcerté! Où vais-je d'ici?

+0

Je pense que vous allez bien. Votre application doit également être compatible avec l'iPad, même si votre application est supposée être compatible avec les appareils mobiles. Il n'a pas besoin d'être parfaitement adapté à l'iPad. – Hoon

Répondre

0

Vous avez déjà supprimé l'iPad de la liste des appareils, mais il n'y a aucun moyen d'éviter l'installation sur les appareils iPad. Toutes les applications peuvent être installées sur les appareils, mais si l'application n'est pas prête pour l'iPad, elle apparaîtra comme une application iPhone que vous pourrez mettre à l'échelle pour remplir tout l'écran de l'iPad.

besoin d'un iPad pour tester si ça a l'air bien. De toute façon, vous pouvez utiliser les simulateurs pour tester

+0

Wow. Donc, même si vous pouvez le définir sur «combiné» à la fois dans XCode et à travers la configuration PhoneGap, vous serez toujours en mesure de le télécharger sur un ipad ?! –

+0

Ouais, la chose est que l'iPad peut exécuter des applications iPhone. La seule façon d'éviter l'installation sur iPad est d'exiger la capacité de téléphonie, mais Apple rejettera l'application si elle n'a pas vraiment besoin de la capacité de téléphonie, et l'exiger retirera également l'iPod des appareils pris en charge. – jcesarmobile

+0

Eh bien, j'ai appris quelque chose aujourd'hui (et tous les autres jours!) Je ne peux pas m'empêcher de penser que cela devrait être un peu plus évident! Je ne suis pas un propriétaire d'ipad mais la suggestion même que vous pouvez définir votre application pour être «combiné» de «tablette» ou «universel» suggère qu'il devrait être rendu uniquement disponible pour ces options ... ayant clairement défini dans les docs m'aurait sauvé beaucoup de temps. J'ai défini mon application sur "universel" et ajouté une feuille de style distincte pour la tablette et le combiné, en fonction de la taille de l'écran, afin de la modifier pour chacun. Je vous remercie! –