如何使用代码在 iphone 中打开本机闹钟?

Posted

技术标签:

【中文标题】如何使用代码在 iphone 中打开本机闹钟?【英文标题】:How I can open native alarm clock in iphone by using code? 【发布时间】:2012-01-04 06:05:20 【问题描述】:

我必须创建一个示例应用程序,当我单击一个按钮时应该打开本机闹钟以便用户可以使用它来设置闹钟?

【问题讨论】:

***.com/questions/6696346/…查看帮助 一个问号/感叹号或。从来没有适合使用多个的情况。这永远都不好:???/!!! 谢谢,我会处理的。 【参考方案1】:

如果时钟应用支持 URL 方案,例如电话应用的 tel:// 或邮件应用的 mail://,您可以使用标准的 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"..."]] 方法打开它。不幸的是,据我所知,它没有,所以您真正能做的就是提示用户自己打开该应用程序来设置警报。

或者,您可以使用 UILocalNotification 让您的应用设置一个本地通知act作为警报,您可以通过searching this site 找到大量相关信息。

【讨论】:

我有很多谷歌可以做到这一点,我知道使用本地通知和使用计时器的其他方式,但我想把它作为我的问题。非常感谢您的帮助.... 当我们使用库中的本机 MFMailComposer 时,我们只是使用它,它会直接打开本机 mailcomposer 以发送邮件,就像我想要处理警报一样。有图书馆吗??我也搜索了它,但没有得到这个。 没有。如果您希望他们添加 ios SDK,您可以在 bugreport.apple.com 提交增强请求。 感谢您的宝贵建议。【参考方案2】:

对于默认应用 MobileClock.app 存在几个 url 方案。如果您查看系统文件并打开 MobileClock.app 的内容,您将在 info.plist 私有 url 方案中找到:

时钟-世界时钟, 时钟闹钟, 时钟秒表, 时钟定时器, 时钟定时器运行 .

使用它们应该可以在外部运行应用程序,但只能从 Today 小部件。移动笔记应用也是如此。

【讨论】:

【参考方案3】:

需要两个步骤。

将 URL 添加到 info.plist CFBundleURLSchemes

<array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>clock-alarm</string>
                <string>clock-stopwatch</string>
            </array>
        </dict>
</array>

调用sharedApplication的openURL

[[UIApplication sharedApplication] 
  openURL:[NSURL URLWithString:@"clock-alarm:"]];
];

【讨论】:

以上是关于如何使用代码在 iphone 中打开本机闹钟?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中设置选定日期的闹钟?

您将如何存储代表 iPhone 时钟应用程序中当前闹钟列表的数据?

如何以编程方式为 iPhone 和 iPad 播放闹钟?

如何使用 UIDatePicker 设置闹钟?

我希望我的闹钟每天在选定的时间重复,并在 iPhone 中具有贪睡功能

在代码中设置 iPhone 闹钟?