Ионное приложение отклонено из магазина приложений, потому что оно не загружается - PullRequest
0 голосов
/ 07 сентября 2018

Я недавно отправил свое приложение в магазин приложений Apple, но оно было отклонено ..

Рекомендация 2.1 - Производительность - Полнота приложения

Мы обнаружили одну или несколько ошибок в вашем приложении при просмотре на iPhone под управлением iOS 11.4.1 по Wi-Fi.

При запуске индикатор активности вращается бесконечно

Я тестировал приложение на нескольких iPhone, с 6 до X, и оно отлично работает. Может потребоваться 4-5 секунд для загрузки после заставки, но это не должно быть причиной для отказа?

Я недавно обновил свой cordova-plugin-ionic-webview и заметил, что запуск стал медленнее? Мой config.xml сказал, что я был на ^1.1.16, но мой package.json сказал, что я на ^2.0.2, не уверен, что это проблема? Там также v 2.1.3 сейчас ..

Но, как я уже сказал, я понятия не имею, в чем проблема, поскольку она отлично работает на моих iPhone.

Важные части моего config.xml выглядят следующим образом ... не уверен, что он показывает что-то, что может привести к ответу:

<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:*" />
<preference name="ScrollEnabled" value="false" />
<preference name="android-minSdkVersion" value="16" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="30000" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="loadUrlTimeoutValue" value="60000" />
<preference name="target-device" value="handset" />

<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
    ...icons/splashscreens
</platform>

<plugin name="cordova-plugin-device" spec="^2.0.1" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^1.1.16" />
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" />
<plugin name="cordova-sqlite-storage" spec="^2.2.1" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<allow-navigation href="http://192.168.9.77:8100" />
<allow-navigation href="http://192.168.1.27:8100" />
<allow-navigation href="http://192.168.1.5:8100" />
<edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
    <string>To connect you to your local university!</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription">
    <string>To let you upload images!</string>
</edit-config>
<plugin name="cordova-plugin-geolocation" spec="^4.11.0">
    <variable name="GEOLOCATION_USAGE_DESCRIPTION" value="To connect you to your local university!" />
</plugin>
<plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
<plugin name="cordova-plugin-firebase" spec="1.0.5" />
<plugin name="cordova-plugin-camera" spec="^4.0.3" />
<plugin name="cordova-plugin-request-location-accuracy" spec="^2.2.3" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.2" />
<plugin name="cordova.plugins.diagnostic" spec="^4.0.8" />
<plugin name="cordova-plugin-google-analytics" spec="^1.8.6">
    <variable name="GMS_VERSION" value="16.0.3" />
</plugin>
<engine name="browser" spec="^5.0.4" />
<engine name="android" spec="^7.0.0" />
<engine name="ios" spec="^4.5.5" />

и так как мой <preference name="AutoHideSplashScreen" value="false" /> ложен, в моем файле app.component.ts есть следующая строка кода, которая скрывает заставку:

constructor(
public zone: NgZone,
private afAuth: AngularFireAuth,
public splashScreen: SplashScreen) {
this.afAuth.auth.onAuthStateChanged((user) => {
      this.zone.run(() => {
        if (user) {
          this.rootPage = HomePage
          this.splashScreen.hide();
        } else {
          this.rootPage = LoginPage
          this.splashScreen.hide();
          console.log("Not logged in")
        }
      });
    });
  }

Есть ли здесь какая-то подсказка, почему это может не сработать? Спасибо!

1 Ответ

0 голосов
/ 07 сентября 2018

«После запуска индикатор активности вращается бесконечно»

если вы используете ионный загрузчик или спиннер, то обращайтесь с ним правильно

ех. (не полный код, просто пример)

this.spinnerDialog.show();

http.req().then((data)=>{
   this.spinnerDialog.hide();
}).err((error)=>{
   this.spinnerDialog.hide();
})

Вы должны правильно обращаться с вертушкой, загрузчиком или индикатором активности

...