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

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

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

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

Q&A

解決済

1回答

10243閲覧

[iOS]目覚ましアプリの作り方について

kazutoto

総合スコア12

iOS

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

0グッド

3クリップ

投稿2015/04/12 17:17

iOS で目覚まし時計のアプリを作りたいと考えておりますが、その実現方法が分からず困っております。

やりたい事としては、設定した時間に WebAPI を呼び出して、アラームの挙動を変えるということを実現したいのですが、iOS では、Cron 的なものは無いのでしょうか?

NSTimer を使うことも検討しましたが、Background の動作は 10分以内しか出来ないという制約があるとのことで、使用できないと思っております。

また、Local通知を使う検討もしましたが、通知後、ユーザがタップしないとアプリは起動されないと思うので、こちらの方法も使えないかと思っております。

Android では、AlarmManager があるので、それを使ってアプリを制作したのですが、その iOS版を作成をするにあたり壁にぶち当たっております。

なにか良い方法が無いか、ご教示願います。

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

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

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

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

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

guest

回答1

0

ベストアンサー

iOS7で入ったBackground Fetchという機能によって、定期的に実行することが出来ます。

lang

1[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];

このようにすると、20〜30分程度に一回の処理を行う事が可能なので、そこで以下のようなLocal Notificationを設定するのがよいでしょう。 UILocalNotificationを使います。

lang

1UILocalNotification* yourNotification = [[UILocalNotification alloc] init]; 2yourNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow: 60]; // sinceNow使わなくても好きな方法でNSDateをイニシャライズしてください 3yourNotification.alertBody = @"hogehoge"; 4[[UIApplication sharedApplication] scheduleLocalNotification: yourNotification];

以下の記事が参考になります。

第 1 回・iOS7でバックグラウンド実行&通信をしてみよう!|ギャップロ

あとは、サーバーからのpush(Remote Notification)という手もありますね。

投稿2015/04/16 15:01

AknEp

総合スコア200

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

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

kazutoto

2015/04/17 09:08

ご回答ありがとうございます。 Background Fetch を使ってみます。 サーバーからのpushも検討したのですが、やはりユーザが増えた場合、 サーバ側の負担が大きくなることと、 ネットに繋がらない場合でも目覚ましをなるように処理を考えなければならない点で、 本当に出来ない場合の最終手段と考えておりました。 Background Fetch を使えば実現出来そうなので、これをまず試してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問