問題タブ [background-fetch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2720 参照

ios - IOS Firebase バックグラウンド フェッチ

チュートリアルに従って、Swift 2.0 でバックグラウンド フェッチを使用する際に問題が発生しました -> https://www.raywenderlich.com/92428/background-modes-ios-swift-tutorial3。次のエラーが表示されます: application:performFetchWithCompletionHandler: が、完了ハンドラーが呼び出されませんでした。

基本的に私は自分のアクションを実行する関数(firebaseでデータを呼び出す)を持っていて、それをバックグラウンドで実行したいです。

ここに私のアプリデリゲートコードがあります

インターフェイス関数でfirebaseからデータを取得する方法は次のとおりです。

Xcode エラー:

警告: アプリケーション デリゲートは -application:performFetchWithCompletionHandler: への呼び出しを受け取りましたが、完了ハンドラーは呼び出されませんでした。

前もって感謝します。

0 投票する
0 に答える
554 参照

ios - iOS のバックグラウンド フェッチはシミュレーターでは機能するが、物理デバイスでは機能しない

よし、バックグラウンド フェッチの実装に成功しました。そこに問題はありません。私が抱えている問題は、バックグラウンド フェッチがシミュレータとデバイスで異なる動作をすることです。

}

これで、バックグラウンド フェッチの出力が良好になりました。

2016-04-20 18:47:12 +0000 論理エラー状態の後に 19 カウント、サーバー ログを確認

しかし、iPhone 5(実際の)デバイスで同じことを実行すると、

2016-04-20 18:47:12 +0000

後に何もない

2016-04-20 18:49:12 +0000

以降

デバッガーを使用して実行または中断する

  1. バックグラウンド フェッチ 30 秒の制限にはなりません (と思います)。レスポンスは非常に大きいですが、現在私が呼び出しているリクエストは 1 つだけです。
  2. 間違ったコード..うーん..シミュレーターで完全に動作します。

ps応答データは比較的大きいjsonです

だから問題は私が欠けているものですか?SyncServiceDataSource.dBOperations が呼び出されないのはなぜですか

0 投票する
2 に答える
1064 参照

swift - バックグラウンド フェッチで Collectionview の reloadData() でアプリがクラッシュする

そのため、バックグラウンド フェッチを行っており、その後 UI を更新したいと考えています。バックグラウンド フェッチ自体 (データベース) は機能しますが、UI を更新したいときにクラッシュunexpectedly found nil while unwrapping an Optional value します。xCode によるとself.newestPublicationsCollectionView.reloadData()、updateCollections() 関数でクラッシュが発生する場所です。

AppDelegate のその他のコード:

私の PublicationOverviewController の .fetch

クラッシュの原因はメイン スレッドで UI が必要だったからだと思いましたが、それは役に立ちませんでした。どんな入力でもいいでしょう。

詳細:

私の PublicationFetcher.shared.fetchAllPublications() では、次のことを行います。

  • バックエンドからデータを取得する
  • dispatch_async(dispatch_get_main_queue()) { () -> Void in NSNotificationCenter.defaultCenter().postNotificationName("RELOAD_NOTIFICATION", object: nil) }

そのリロード通知の下で、私はupdateCollections()

スウィフト 3 :

0 投票する
6 に答える
10075 参照

ios - アプリが終了してもSwiftで1時間ごとにバックグラウンドでデータを取得する方法は?

1 時間ごとにデータを取得する機能を提供するアプリを作成しています。アプリが終了してもデータをフェッチします。この機能を実装するにはどうすればよいですか?

いろいろ検索した結果、performFetchWithCompletionHandler を使用したバックグラウンド フェッチが見つかりました。アプリが終了してもこの機能は動作しますか? つまり、アプリが閉じた状態または終了した状態にある場合、この関数を自動的に呼び出すことができますか?

0 投票する
3 に答える
2263 参照

ios - バックグラウンド フェッチとローカル通知

私のアプリでは、プッシュ通知ではなくローカル通知を使用する予定です。トランザクションの更新が利用可能かどうかを確認する必要があります。利用できる場合は、ローカル通知でユーザーに通知するだけです。以下の手順を実行しました。

  1. didFinishLaunchingWithOptions、フェッチ間隔を設定します[[UIApplication sharedApplication]setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum]
  2. -(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

> POST リクエストのコードを以下のようにリクエスト データとともに追加しました。

  1. 応答の解析後、更新があるかどうかと更新があるかどうかを比較すると、次のコードを使用して通知が表示されます。

    /li>

問題はほとんどの場合、電話がロックされているときにエラー メッセージ >Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." が表示されることです。

そのため、通知が表示されませんでした。しかし、電話を電話に直接接続し、デバッグ モードでバックグラウンド同期を有効にすると、すべてが正常に機能します。

これを行うための簡単な方法を教えてください。または、間違っていることがあれば修正してください。

ありがとう、

モバイル開発者。

0 投票する
1 に答える
401 参照

ios - iOS のバックグラウンド アプリ フェッチが機能しない

だから、私は位置情報を含むAPIを使用して何かをチェックし、UILocalNotification. これは、別のクラスから AppDelegate の場所を取得する方法です。

AppDelegate には次のようなものがあります。

クラス AppDelegate: UIResponder、UIApplicationDelegate、CLLocationManagerDelegate {

....

私の問題は、私の分析がアプリがクラッシュすると言っていることですperformFetchWithCompletionHandler。実際のデバイスで Debug->Stimulate Background Fetch を実行すると、問題なく動作します。アプリがユーザーに対してクラッシュすると分析が言う理由がわかりません。

クラッシュへの分析リンクは次のとおりです: http://crashes.to/s/86193953c05

0 投票する
0 に答える
451 参照

ios - アプリがバックグラウンドにある場合でも、backgroundTimeRemaining が非常に高くなります

アプリケーションの状態がバックグラウンドのときに、バックグラウンドの残り時間を出力しようとしています。バックグラウンド フェッチがトリガーされたときに特定のタスクを実行するために、バックグラウンドでの残り時間を読み取ろうとしています。

これが私のコードです:-

UIApplicationState appState = [[UIApplication sharedApplication] applicationState];

NSString *appStateString;

appStateString の値を出力すると、次のように表示されます:-

background 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00 seconds remaining

Appleのドキュメントによると、「アプリがフォアグラウンドで実行されている間、このプロパティの値は適切に大きいままです」と書かれています

しかし、私の場合、アプリはバックグラウンドで実行されています。では、なぜこの値が非常に大きくなるのでしょうか?親切に提案してください

0 投票する
1 に答える
465 参照

ios - 特定の NSTimeInterval を setMinimumBackgroundFetchInterval に渡すのは良い習慣ですか?

私はどちらかを通過する義務がありますUIApplicationBackgroundFetchIntervalMinimumUIApplicationBackgroundFetchIntervalNever

または、代わりにカスタム間隔を渡すことは可能ですか (たとえば 10 分):

UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(600.0)

私のアプリでは、アプリがバックグラウンドにある間に、新しい更新されたデータをダウンロードする必要があります。

次に、新しいデータを使用してローカル通知をユーザーに送信します。