2016-04-03 12 views
2

私は解決策を探していて、特定のアプリだけがバックグラウンド機能、つまり位置情報と音楽再生機能を持っていることがわかりました。この許可を得ているとしたら、他のすべてのアプリやホーム画面などからスワイプ金額を記録する方法はありますか?最終的な目標は、ユーザがスウィフトを使ってどのくらい遠くまでスクロールしたかを(合計で)記録することです。アプリがバックグラウンドにあるときのスワイプ金額

これまでのところ、私はappでテストし、実行中の合計を記録できます。ただし、アプリが非アクティブの場合でもこれを達成することは可能ですか?

import UIKit 

//test variable for storing scoll amount 
var counter2 : Int = 0; 

class ViewController: UIViewController { 

    @IBOutlet weak var sCounter: UILabel! 
    @IBOutlet weak var sMeasure: UILabel! 
    @IBOutlet var scrollMeasuer: UIPanGestureRecognizer! 

    @IBAction func scrollCounter (recognizer : UIPanGestureRecognizer) { 
     //var counter : Int = 0 

     let translation = recognizer.translationInView(self.view) 
     sMeasure.text = "\(translation)" 

     counter2 = abs(Int(abs(translation.x) + abs(translation.y)) + counter2) 
     sCounter.text = "\(counter2)" 
    } 
} 
+0

...プライベート他のチャットアプリケーションのメッセージ、パスワード入力などを、私はそれがAppleのに反してかなり確信していますポリシー – Ares

+0

@OwenこれはAppleのポリシーに違反する可能性があり、アプリケーションが非アクティブな場合、どのようにアプリケーションを起動するのですか? –

+0

ありがとう、ええ、これは多くの検索からこのように見えた! @ JobinsJohnアプリはバッジを使用して呼び出される他のどのようなものになりますが、アプリ内にないときにスクロールされた「距離」の方法で記録したいだけです。 –

答えて

1

いいえこれはできません。

バックグラウンドでは表示が表示されないため、スワイプは記録されません。別のアプリビューにアクセスすることはできません。

特定のタスクのみをバックグラウンドで実行できます。Background Executionを参照してください。

あなたのアプリがバックグラウンド状態になることは保証できません。アプリはいつでもiOSによって終了する可能性があります。

別の角度から:これを実行したアプリは、プロセッサ時間とメモリを使用していましたが、ユーザーがそれを却下しても予期しない方法で動作します。あなたのアプリがユーザーから却下されたら、プロセッサとメモリの使用を停止するか、少なくとも最小限に抑える必要があります.AppleとiOSがこれを強制します。

1

いいえ、できません。それは良いことです。

あなたが他のアプリのタッチ入力をキャプチャすることができれば、あなたも意味し、キーボードの押下をキャプチャすることができます:

関連する問題