相关疑难解决方法(0)

检查iOS上的位置服务权限

如何检查我的应用是否启用了位置服务?

我有2个故事板,我想检查位置服务.如果为我的应用启用了位置服务,我想启动带位置的地图故事板.否则,我想发布另一个故事板.我该如何以编程方式完成?

objective-c cllocationmanager ios

49
推荐指数
7
解决办法
7万
查看次数

理解按位AND运算符

我一直在阅读Kochan的书"Objective-C编程"中的Objective-C中的位运算符.

我对这一部分非常困惑,尽管到目前为止我已经真正了解了大部分内容.

以下是本书的引用:

按位AND运算符

按位AND运算经常用于屏蔽操作.也就是说,可以容易地使用该运算符将数据项的特定位设置为0.例如,语句

w3 = w1 & 3;
Run Code Online (Sandbox Code Playgroud)

w3将w1的值与常数3进行逐位AND运算.这与将w中的所有位设置为相同的效果,除了最右边的两位为0,并保留w1中最右边的两位.

与C中的所有二进制算术运算符一样,二进制位运算符也可以通过添加等号用作赋值运算符.该声明

word &= 15;
Run Code Online (Sandbox Code Playgroud)

因此执行与以下相同的功能:

word = word & 15;
Run Code Online (Sandbox Code Playgroud)

此外,它具有将除最右边的四位字之外的所有字设置为0的效果.当使用常量执行按位运算时,以八进制或十六进制表示法表示常量通常更方便.

好的,这就是我想要了解的内容.现在,我对这整个概念非常困惑,我只想找一点澄清,如果有人愿意帮我解决这个问题.

当书现在引用"设置所有位"时,所有位......究竟是什么.这不仅仅是第二个基数中的0或1,换句话说,二进制?

如果是这样,为什么在第一个例子中除了"最右边2"到0之外的所有位?它是2,因为它是3 - 1,从我们的常数中取3吗?

谢谢!

bit-manipulation objective-c operators bitwise-operators

48
推荐指数
1
解决办法
2万
查看次数

objective c - 当用户更改应用程序的通知设置时检测

我需要始终知道用户在推送通知设置中选择了哪些选项.
(选项包括 - 警报,声音和徽章)

所以,当我的应用程序启动时,我打

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
Run Code Online (Sandbox Code Playgroud)

并检测用户选择的内容.

但是,如何在应用程序生命周期内检测用户是否稍后更改设置?
是否有一些委托方法在此设置发生更改时被调用?

iphone objective-c appsettings push-notification apple-push-notifications

15
推荐指数
2
解决办法
3万
查看次数

推送通知状态检查Android

用户可以在Android的更高版本中为应用程序禁用推送通知,应用程序是否有任何方式可以知道用户在设置中禁用了推送通知?

android push-notification google-cloud-messaging

6
推荐指数
1
解决办法
2564
查看次数

当用户禁用推送时,iOS 应用程序应该做什么?

我知道可以检查用户是否禁用了推送设置,如Objective c - 检测用户何时更改应用程序的通知设置中所述。

根据上面的文章,即使用户禁用了应用程序的推送通知,也会发送推送通知。据我了解,我应该始终在applicationDidFinishLaunching:.

大多数示例如下所示,即忽略用户设置。

- (void)applicationDidFinishLaunching:(UIApplication *)app {
    // other setup tasks here....

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

}
Run Code Online (Sandbox Code Playgroud)

如果应用程序应该考虑这些设置,那么正确的实现是什么样的?

我之所以问这个问题,是因为我们有很多客户抱怨,尽管他们禁用了推送通知,但他们还是收到了推送通知。这似乎适用于 iOS 6。

作为开发人员,我是否应该处理用户禁用推送通知的情况?我已经一遍又一遍地阅读文档。特别是application:didReceiveRemoteNotification:. 它没有说明当用户禁用推送通知时是否调用它。

iphone apple-push-notifications ios

5
推荐指数
1
解决办法
1854
查看次数