【问题标题】:ionic / cordova / angularjs plugins being reset because of load timeionic / cordova / angularjs 插件因加载时间而被重置
【发布时间】:2017-01-01 19:19:00
【问题描述】:

我在尝试开发的 Ionic 应用程序中遇到了一些问题,尤其是在让推送通知正常工作方面。我一直在尝试使用 ionic-web-client 库通过 Ionic 注册 Push 令牌。

当我通过 Xcode 运行项目时,这是日志:

Apache Cordova native platform version 4.3.1 is starting.
2016-12-31 13:24:53.118638 com.playground.test.dev[11334:3062574] Multi-tasking -> Device: YES, App: YES
2016-12-31 13:24:53.364238 com.playground.test.dev[11334:3062574] Using UIWebView
2016-12-31 13:24:53.369006 com.playground.test.dev[11334:3062574] [CDVTimer][handleopenurl] 0.171959ms
2016-12-31 13:24:53.374899 com.playground.test.dev[11334:3062574] [CDVTimer][intentandnavigationfilter] 5.698979ms
2016-12-31 13:24:53.375233 com.playground.test.dev[11334:3062574] [CDVTimer][gesturehandler] 0.168025ms
2016-12-31 13:24:53.415310 com.playground.test.dev[11334:3062574] [CDVTimer][statusbar] 39.875031ms
2016-12-31 13:24:53.417447 com.playground.test.dev[11334:3062574] [CDVTimer][keyboard] 1.947999ms
2016-12-31 13:24:53.460481 com.playground.test.dev[11334:3062574] [CDVTimer][splashscreen] 42.874992ms
2016-12-31 13:24:53.460599 com.playground.test.dev[11334:3062574] [CDVTimer][TotalPluginStartup] 91.865003ms
2016-12-31 13:24:53.976602 com.playground.test.dev[11334:3062574] createNotificationChecker
2016-12-31 13:24:53.976684 com.playground.test.dev[11334:3062574] not coldstart
2016-12-31 13:24:53.980421 com.playground.test.dev[11334:3062574] active
2016-12-31 13:24:53.983104 com.playground.test.dev[11334:3062574] PushPlugin skip clear badge
2016-12-31 13:24:55.147607 com.playground.test.dev[11334:3062574] Resetting plugins due to page load.
2016-12-31 13:24:56.294580 com.playground.test.dev[11334:3062574] Finished load of: file:///var/containers/Bundle/Application/0C979B9E-DA07-41D7-BB2D-5C4569BF874B/TEST%20DEV.app/www/index.html#/splash
2016-12-31 13:24:57.359684 com.playground.test.dev[11334:3062574] Ionic Core: plugins are ready

这是我的 Ionic 环境的输出:

Your system information:

Cordova CLI: 6.4.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 1.3.1-nightly-4219
Ionic CLI Version: 2.1.1
Ionic App Lib Version: 2.1.1
ios-deploy version: 1.9.0 
ios-sim version: 5.0.8 
OS: Mac OS X Sierra
Node Version: v4.6.0
Xcode version: Xcode 8.2.1 Build version 8C1002 

这是我目前的插件:

cordova-plugin-console 1.0.4 "Console"
cordova-plugin-device 1.1.3 "Device"
cordova-plugin-inappbrowser 1.6.1 "InAppBrowser"
cordova-plugin-splashscreen 4.0.1 "Splashscreen"
cordova-plugin-statusbar 2.2.0 "StatusBar"
cordova-plugin-whitelist 1.3.0 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 1.8.4 "PushPlugin"

更新:这是我的 config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.playground.test.dev" version="1.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>DEV TEST PROJECT</name>
    <description>
        An Ionic Framework and Cordova project.
    </description>
    <author email="XXXXXXXXXX" href="XXXXXXXXXXm">
      XXXXXXXXXX
    </author>
    <content src="index.html" />
    <access origin="*" />
    <access origin="http://*" />
    <access origin="https://*" />
    <allow-navigation href="http://*/*" />
    <allow-navigation href="https://*/*" />
    <allow-intent href="http://*" />
    <allow-intent href="https://*" />
    <allow-intent href="tel:*" />
    <preference name="webviewbounce" value="false" />
    <preference name="UIWebViewBounce" value="false" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="16" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <preference name="orientation" value="portrait" />
    <feature name="StatusBar">
        <param name="ios-package" onload="true" value="CDVStatusBar" />
    </feature>
    <platform name="ios">
        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
        <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
    </platform>
    <platform name="android">
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
    </platform>
    <icon src="resources/ios/icon/icon-small@3x.png" />
    <plugin name="phonegap-plugin-push" spec="~1.8.4">
        <variable name="SENDER_ID" value="XXXXXXXXXX" />
    </plugin>
</widget>

关于什么可能导致推送通知无法注册并导致加载时间过长的任何想法?

有趣的是,当我通过 Google Chrome 运行应用程序时,推送通知确实会被注册。

感谢您的帮助。

【问题讨论】:

  • 您的移动构建失败了吗??
  • @ArunShinde - 抱歉,我应该指定的。我意识到 ionic-platform-web-client 大约在 4 或 5 个月前已弃用,但是,我继承了此代码,我试图弄清楚为什么它不能按原样工作。
  • @bvakiti - 移动构建没有失败。我可以通过 xcode 编译代码并将应用程序放在我的 iPhone 上。打开应用程序后,插件的控制台输出就会停止。
  • 你能检查控制台错误吗

标签: ios angularjs cordova ionic-framework


【解决方案1】:

该消息始终显示,这不是错误。

您的问题是您的 phonegap-plugin-push 未更新,请尝试使用最新 (1.9.x) 或者如果由于某种原因无法更新插件,请安装 Xcode 7 并使用它而不是 Xcode 8。 另外,请确保您的 cordova-ios 版本是 4.3.1

【讨论】:

    【解决方案2】:

    您的代码似乎一切正常。安装最新插件1.9版本

    参考 iOS Quirks @https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md#xcode

    https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md#installation-requirements

    如果您使用 Ionic,您可能需要在 package.json 中指定 SENDER_ID 变量

    将插件标签中的确切规范指定为 spec="1.9.0" 而不是 spec="~1.9.0"

    【讨论】:

      猜你喜欢
      • 2013-11-09
      • 2021-04-30
      • 2016-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-12
      • 2015-10-28
      相关资源
      最近更新 更多