我在iTunes商店有两个应用程序 - 都实现推送通知.当我测试向这些制作应用发送通知时,我注意到针对应用A的推送标题并打开了应用B.
这两个应用程序都安装在同一部手机上.我查看了我的设备表,看到为两个应用程序列出的设备令牌(当然,设备ID)都是相同的.
根据需要,我在服务器上使用两个不同的证书 - 每个应用程序一个.我有点假设设备令牌或证书会将消息路由到正确的应用程序但显然不是.
我可以在NSLog中看到从每个应用程序发送的令牌确实是相同的.
设备令牌应该对每个应用程序都是唯一的吗?如果是这样,任何想法我的测试手机如何将两个应用程序的相同设备令牌发送到我的服务器.请注意,这是来自应用商店目前的两个应用.
谢谢你的帮助!
如何在iOS 8中获取设备令牌以进行远程通知?我所使用的方法didRegisterForRemoteNotificationsWithDeviceToken中AppDelegate在IOS <8,并且它返回的设备令牌.但在iOS 8中,它没有.
我正在处理推送通知.我编写了以下代码来获取设备令牌.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the view controller's view to the window and display.
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
NSLog(@"Registering for push notifications...");
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
return YES;
}
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSString *str = [NSString stringWithFormat:@"Device Token=%@",deviceToken];
NSLog(@"This is device token%@", deviceToken);
}
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {
NSString *str = [NSString stringWithFormat: @"Error: %@", err];
NSLog(@"Error %@",err);
}
Run Code Online (Sandbox Code Playgroud)
我能够在设备上成功运行应用程序,但无法在控制台上获取设备ID.
我对认证和配置文件没有任何问题.
iphone push-notification apple-push-notifications ios appdelegate
我对IOS开发很陌生,老实说对证书知之甚少,除了申请在Apple商店发布所需的部分.
我公司在Apple Store上的应用程序很少,我收到一封电子邮件,说"你的Apple推送通知服务证书将在30天后到期.",其中一个应用程序.
现在,我不知道如何更新此证书.
这就是我做的......
现在,我不知道该怎么做..
请看下面的截图,看看我最终的位置..
从这里..我该怎么办?
证书尚未到期,我现在可以更新吗?还是我应该等到它过期?如果我现在能做到,我该怎么办?单击创建证书并创建一个新证书?我该怎么做?

我已将测试推送通知作为开发人员帐户进行测试,但是当我尝试将其放在TestFlight上供测试人员测试时,它没有显示推送通知但是数据被正确接收,所以有一种我需要为TestFlight生成的证书?
随着最近苹果开发者帐户的升级,我面临着一个困难,即在尝试创建推送通知证书时,它提供了(.p8)证书,而不是可以导出到(.p12)的APN.
Firebase控制台只接受(.p12)证书,以便我可以从这些新的(.p8)证书中获取证书.
在iOS 9.3中,该didReceiveRemoteNotification方法在以下两种情况下都会被调用.
1)当收到推送通知时2)当用户通过点击通知启动应用程序时.
但在iOS上10,我注意到,该didReceiveRemoteNotification方法不不,当用户通过点击通知启动应用程序触发.只有在收到通知时才会调用它.因此,在通知启动应用程序后,我无法执行任何进一步操作.
应该解决这个问题?任何的想法?
我有推送通知工作,并设法更新图标徽章计数当应用程序被带到前台.
我对此有点困惑...虽然iPhone收到通知,但弹出消息似乎激活我的应用程序,并且徽章仅在我启动应用程序后更新.
这在用户体验方面听起来不对.我的理解是,徽章计数应该通过增加的计数通知用户需要采取什么行动,但这种情况不会发生在应用程序生效的后期阶段.
那么是否有一种方法可以告诉应用程序在收到推送通知时以及在后台时更新其徽章计数?
请注意,我的应用程序不使用位置和我UIRemoteNotificationTypeBadge在通知注册请求中.
干杯AF
是否可以在没有iPhone应用程序的情况下测试Apple推送通知服务?(在Windows上创建模拟器?)
如果不是,我该怎么测试呢?是否有编译的免费样本应用程序?
我创建了服务器提供程序,但我需要测试functionallity.
我们已经创建了应用程序ID,分发证书和配置文件.推送通知最初未启用.
我们现在需要在应用程序中实现推送通知.
我们在App D中启用推送通知,检查配置文件,配置文件无效,更新它,并下载最新的配置文件以供下次使用.
然后,我们在代码中通过APNS集成推送通知的API.
在iTunesConnect上传应用程序后,我们收到Apple发来的以下电子邮件:
亲爱的开发者,
我们发现您最近交付"Swanvi"的一个或多个问题.您的投放成功,但您可能希望在下次投放时更正以下问题:
缺少推送通知权利 - 您的应用似乎包含用于向Apple推送通知服务注册的API,但应用签名的权利不包括"aps-environment"权利.如果您的应用使用Apple推送通知服务,请确保在配置门户中为推送通知启用了您的应用ID,并在使用包含"aps-environment"权利的配置配置文件对应用进行签名后重新提交.有关详细信息,请参阅"本地和推送通知编程指南"中的"供应和开发".如果您的应用不使用Apple推送通知服务,则无需执行任何操作.您可以从将来的提交中删除API以停止此警告.如果您使用第三方框架,
纠正问题后,您可以使用Xcode或Application Loader将新二进制文件上传到iTunes Connect.
我们重新检查了App ID.推送通知已启用开发和生产.
在Provisioning Profile中,将显示Push Notifications选项.
为什么我们通过电子邮件收到此警告?
ios ×7
iphone ×3
objective-c ×2
appdelegate ×1
devicetoken ×1
firebase ×1
ios8 ×1
p12 ×1
p8 ×1
swift3 ×1
testflight ×1