挖井

类库大魔王的挖井日记

挖一口属于自己的井


使用Qt实现iOS push notification

先看一遍Apple的官方文档或者网上随便找个入门介绍文章,知道代码主要要做的是在AppDelegate里开头做点初始化工作,然后实现几个函数。Qt对各个平台底层都做了良好的抽象和封装,好在有人做过些相关的研究,可以自己写个AppDelegate替换掉原来的那个。那块代码抄过来后,要注意的是因为我们替换原有的AppDelegate已经过了didFinishLaunchingWithOptions的时机,所以我们在自己的AppDelegate里写一些初始化的代码在didFinishLaunchingWithOptions里是没用的,我的办法是在替换AppDelegate后再做那些初始化工作。但是另外带来些问题,原来写在didFinishLaunchingWithOptions里的一些代码是可以work的,写到其他地方时可能就直接crash了,比如以下这些代码:

[application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:
    UIUserNotificationTypeAlert
    | UIUserNotificationTypeBadge
    | UIUserNotificationTypeSound
    categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];

我也没想明白为什么,只好不用这些东西。

有了自定义的AppDelegate,剩下的跟网上众多iOS Push Notification的简介文章基本一样了。

不过折腾证书真是要纠结死我了。

最后是写个发送消息的程序,当然是用Go了,放在服务器端,在github找到不少可以用的代码,我就选了这个,非常简单易用啊。

本文地址:

https://minidump.info/blog/2014/11/ios-push-notification-with-qt/

上一篇

遇到的一个网络编程的bug

之前遇到一个bug,一直想不通为什么会出现。具体现象是程序一直尝试去连接一个没打开的端口,过一段时间,可能是几分钟,也可能是几天,那个端口突然被程序自己打开并连上了,然后读到了一些计划外的东西接着断言失败了。我仔细检查过整个程序的代码,有哪些可能会打开一个新的端口,结果没有发现。后来用gdb挂...…

Job 全文阅读
下一篇

近况

前些天Google突然宣布中国开发者可以向100多个国家地区发布付费用户,中国开发者注册账号以及收款啥的也都有了极大改进,我本来就一直有想法要在适当的时候注册一个开发者账号的,于是立马冲动地去花了25刀,还把istkani传了上去,不过后来发现一些问题。当初为了买Nexus 5,把这个账号地址...…

Job 全文阅读