質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1591閲覧

iOSアプリにおいて他のアプリケーションの利用時間を取得することは可能なのか?

yoshinshin7

総合スコア2

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/10/11 07:04

編集2021/10/11 07:08

前提・実現したいこと

iOSアプリ開発についてです。他のアプリケーションを利用した時間を計測する機能を実装することは可能なのでしょうか?
また、それはどのような方法で実装すればいいのでしょうか?
ざっくりでいいので回答お願いします。
(スクリーンタイムのような機能という意味です。)
初心者中の初心者でして、どのような機能が実装できるのかというのが、全然把握できていないです。
このような疑問を持った時どのようなところで調べればいいのかも加えて教えてもらえると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshinshin7

2021/10/11 08:31

ありがとうございます!!まさにこれでした。。
guest

回答1

0

ベストアンサー

iOS 15 現在、他のアプリケーションの使用時間を取得する API を私は見かけた事がありません。


このような疑問を持った時どのようなところで調べればいいのか

アップルの開発者向けサイトのドキュメントの Technologies で使用可能なフレームワーク等が検索できるので、API が用意されているかを調べます。
https://developer.apple.com/documentation/technologies

どう調べるか、どう当たりをつけるかはグーグルなどで検索する時と同じで経験や勘です。

例えば、今回は何らかの情報を提供している API がないか探すのでとりあえず info で検索します。ContactsMapKit が絞り込まれますが連絡帳や地図のフレームワークに目的の機能はないだろうと思うので他のものの説明を見ると os に関連しそうです。
https://developer.apple.com/documentation/os

ざっくり目を通す限り、他のアプリケーションについてシステムを介して情報を取得するというものではなく、開発中のデバッグに活用するものかなと考えられるので、関係なかったなということで簡易調査は終了です。もっと探してみれば見つかるかもしれませんし、やっぱりないかもしれません。

投稿2021/10/11 08:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshinshin7

2021/10/11 08:27

丁寧な回答ありがとうございます! 調べ方についてはとてもよくわかりました。次からそこで調べるようにします。 自分で調べてみたところ、2つほど解決策になりうるものを見つけました。 NSProcessInfoのsystemUptimeファンクションでどうやら端末の使用時間がわかるようです。(またこれから詳しくみてみますが) Background Fetchを利用する方法もあるそうです。設定した時間毎application:performFetchWithCompletionHandlerが呼ばれるので、その中で時刻を取得してアプリケーション起動時等の時刻との差を求めてという方法だそうです。 しかし、iOS13からBackground Fetchが非推奨になり、代わりにBackgroundTasksというフレームワークが登場したそうです。こちらについても調べてみます。 回答感謝します。
退会済みユーザー

退会済みユーザー

2021/10/11 08:43

おお…………素晴らしい。1 を教えて 10 飲み込んで貰えたような感覚です
退会済みユーザー

退会済みユーザー

2021/10/11 08:49

ちなみにアップルは古いドキュメントの検索も残していますので、私はたまにこちらでも探してみたりします。古い情報ですが今でも通用したり、低レベルの部分についての詳解はこちらのほうが充実していたりということがあります。 https://developer.apple.com/library/archive/navigation/
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問