首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
iOS 开发实用技术导航
NSHipster 中文版
›
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
›
http://www.cocos2d-iphone.org/
CocoaPods
›
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
›
http://code.google.com/mobile/analytics/
WWDC
›
https://developer.apple.com/wwdc/
Design Guides and Resources
›
https://developer.apple.com/design/
Transcripts of WWDC sessions
›
http://asciiwwdc.com
Cocoa with Love
›
http://cocoawithlove.com/
Cocoa Dev Central
›
http://cocoadevcentral.com/
NSHipster
›
http://nshipster.com/
Style Guides
›
Google Objective-C Style Guide
›
NYTimes Objective-C Style Guide
Useful Tools and Services
›
Charles Web Debugging Proxy
›
Smore
广告
V2EX
›
iDev
问个关于推送的问题?
elepone
·
2012-07-30 21:33:10 +08:00
· 5118 次点击
这是一个创建于 4784 天前的主题,其中的信息可能已经有所发展或是发生改变。
我在测试机上测试一切正常,通过测试证书也能正确的把推送的消息发到测试手机上。但是上线后却发现了一个尴尬的问题,就是推送的数据库里没有任何数据。软件安装的时候也没有提示有推送服务,询问是否打开这一项。在手机的“设置-->通知”里面查找。无论是“在通知中心”和“不在通知中心”都没有找到我的应用。
请教一下大家,这是怎么会事?
- (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;
}
request
Application
推送
3 条回复
•
1970-01-01 08:00:00 +08:00
1
cool8jay
2012-08-02 19:28:51 +08:00
服务端上的push有2种模式,一个用于开发,一个用于产品。
只有以下两种组合时,push才能正常工作:
1)本地测试客户端+开发模式的服务器
2)app store的上架客户端+产品模式的服务器
所以,检查一下咯。
2
changx
2012-08-02 23:33:40 +08:00
distribution provision file 里没有 enable push notification ?
3
elepone
OP
2012-08-03 11:29:55 +08:00
谢谢 @
cool8jay
和@
changx
以上两项都知道,而且也都注意了。唯一可能的是,增加了新的Provision file 以后,总的证书没有重新下载和更新。导致里面没有签名吧。
再发布个版本看看。
另,测试了AD Hoc模式也没有问题。 如果没有 enable push notification ,测试的时候是不可能成功的。
关于
·
帮助文档
·
自助推广系统
·
博客
·
API
·
FAQ
·
实用小工具
·
5272 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms ·
UTC 08:18
·
PVG 16:18
·
LAX 01:18
·
JFK 04:18
Developed with
CodeLauncher
♥ Do have faith in what you're doing.
❯