2010-11-23 6 views

答えて

5

私の推測では、彼らは、プライベート文書化されていないとAPIの、おそらく非呼び出し可能であるということです。

私は外部のパーティー/アプリがユーザーの同意なしに携帯電話の場所をポーリングしようも持つの巨大なセキュリティ上の影響を想像することができませんでした。 (それに配信するプッシュ通知を決定するために)プッシュが有効になっている場合

+1

+1これは、これらのAPIを非公開にするのに十分な編集的な理由です。狡猾なことのため – BoltClock

0

アンiOSデバイスは、すでにAppleのプッシュサーバーのいずれかへの接続を維持し、サーバは接続の端にあるデバイスを知っている必要があります。これを構築する最も簡単な方法は、サーバーに「どこにいるのか教えてください」と言うことです。プッシュ通知として。

デバイスはまた、他の理由(App Storeのアップデート、キャプティブログインページの検出)のために、Appleのサーバを打つが、それは、サーバがこれらの場合にデバイスを識別することができにくくなります。あなたが取得できることを確認し、アプリの起動時にアプリのバックグラウンド「のVoIP」アプリ(私は思う<key>UIBackgroundModes</key><array><string>voip</string></array>

  • を作る

    • :あなたは、ユーザーの同意を得でこれを行うことができます、と述べた

      現在の場所(あなたのアプリがバックグラウンドである間にこれを行うとどうなるかわかりません)。

    • サーバーへの「voip」接続を維持します。
    • サーバがデバイスにロケーションを要求すると、Core Locationにロケーションを再度問い合わせて、サーバに送信します。 (私はUIBackgroundModesの "場所"が必要か、または両方向の接続を有効にしておく必要があると思います)。

    "場所を停止することはできませんサービス "アイコンがステータスバーに表示されなくなります。通常のマルチタスク警告も適用されます(電話機がメモリ不足になるとアプリが殺される可能性がありますが、「voip」によってアプリが再起動されます)。

  • +0

    +1、おそらくアプリが禁止されますよアドバイス-1 ... –

    +0

    @HartleyBrody:アプリが最初にユーザーの同意を求める場合、私は、問題が表示されません。 Appsは既に ' UIBackgroundModesの位置'(実際にはバックグラウンドの場所の更新を取得する必要があります)を指定することができます。 –

    0

    私は、あなたが「VoIPのトリック」を行う場合は、あなたのアプリがストアから拒否されますかなり確信しています。アプリが実際にVOIPアプリである場合にのみ許可されます。アプリをバックグラウンド処理の制限を回避する手法として使用するだけではありません。

    関連する問題