问个关于推送的问题?

2012-07-30 21:33:10 +08:00
 elepone
我在测试机上测试一切正常,通过测试证书也能正确的把推送的消息发到测试手机上。但是上线后却发现了一个尴尬的问题,就是推送的数据库里没有任何数据。软件安装的时候也没有提示有推送服务,询问是否打开这一项。在手机的“设置-->通知”里面查找。无论是“在通知中心”和“不在通知中心”都没有找到我的应用。
请教一下大家,这是怎么会事?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
[application registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound ];

return YES;
}

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{

NSString *token = [NSString stringWithFormat:@"%@",deviceToken];

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];


int alertStatus = 0;
int badgeStatus = 0;


if (types & UIRemoteNotificationTypeAlert) {
alertStatus = 1;
}

if (types & UIRemoteNotificationTypeBadge) {
badgeStatus = 1;
}


if (types == UIRemoteNotificationTypeNone)
{
NSLog(@"我已经关闭了推送通知");
}else {
//写入数据库
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString: pushUrl]];

[request addPostValue:token forKey:@"device_token"];
[request addPostValue:[NSNumber numberWithInt:alertStatus] forKey:@"alert"];
[request addPostValue:[NSNumber numberWithInt:badgeStatus] forKey:@"badge"];

[request startAsynchronous];
}



token = nil;

}
4766 次点击
所在节点    iDev
3 条回复
cool8jay
2012-08-02 19:28:51 +08:00
服务端上的push有2种模式,一个用于开发,一个用于产品。
只有以下两种组合时,push才能正常工作:
1)本地测试客户端+开发模式的服务器
2)app store的上架客户端+产品模式的服务器
所以,检查一下咯。
changx
2012-08-02 23:33:40 +08:00
distribution provision file 里没有 enable push notification ?
elepone
2012-08-03 11:29:55 +08:00
谢谢 @cool8jay 和@changx 以上两项都知道,而且也都注意了。唯一可能的是,增加了新的Provision file 以后,总的证书没有重新下载和更新。导致里面没有签名吧。
再发布个版本看看。
另,测试了AD Hoc模式也没有问题。 如果没有 enable push notification ,测试的时候是不可能成功的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/43890

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX