簡體   English   中英

在iOS上具有答案禁用功能的鬧鍾

[英]Alarm clock with answer-to-disable on iOS

Apple資源包含很多信息,但是有一件事我對閱讀音頻和通知一無所知。

是否有可能制作一個在后台運行並產生聲音的應用程序(即使手機處於鎖定狀態和/或靜音),並且發生這種情況時,用戶必須解決例如。 等式將其關閉?

ps目前,我主要使用Cordova框架,但是Obj-C技巧也不錯。

是的,這是可能的。 您可以為此使用UILocalNotification

蘋果還允許在后台播放音樂的應用程序。

請檢查以下鏈接以獲取后台任務功能:

  1. 管理您的應用程序流程
  2. ios多任務后台任務
  3. iOS設備鎖定或在其他設備上時如何處理背景音頻播放

您可以更改NSTimers的本地通知(通過https://github.com/mruegenberg/MMPDeepSleepPreventer使其處於非活動狀態),並計算每個警報的時間間隔。 這樣一來,即使屏幕被鎖定,也可以將音頻粘貼到- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

// Let the sound run with the screen blocked
NSError *setCategoryErr = nil;
NSError *activationErr  = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:&setCategoryErr];
[[AVAudioSession sharedInstance] setActive:YES error:&activationErr];

但是您會遇到一些問題:

  • 該應用程序必須每10秒鍾播放一次音頻文件,這樣它就不會進入深度睡眠並殺死所有NSTimers。
  • 蘋果可能會拒絕您的應用程序。
  • 您無法使用主屏幕按鈕關閉該應用程序,否則它將無法正常工作。
  • 您每次需要使用鬧鍾時都必須打開該應用程序(您無法安排和忘記)。
  • 鬧鍾響起時,您只有iPhone的鎖定屏幕,需要先將其解鎖,然后再從應用程序內部停止鬧鍾。

在Apple中,他們不希望競爭對手使用其鬧鍾應用程序,這是肯定的! 您在App Store中看到的幾乎所有鬧鍾應用程序都使用這種不良方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM