iOS推送通知不适用于使用Test Flight的临时分发

时间:2012-05-17 17:55:09

标签: ios xcode push-notification apple-push-notifications testflight

有一点奇怪的问题......

在我的AppDelegate.m中,我有以下内容:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:NO];
    // Override point for customization after application launch.


    // Enable test flight reporting; https://testflightapp.com/sdk/doc/0.8.3/
    [TestFlight takeOff:@"myTestFlightToken"];

    // Let the device know we want to receive push notifications
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
     (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

    return YES;
}

-(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSString *tokenAsString = [[deviceToken description] 
                                 stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];

    NSLog(@"Device token: %@", deviceToken);
    User.currentUserPushNotificationToken = tokenAsString;
    [TestFlight passCheckpoint: [NSString stringWithFormat: @"Registered for remote notifications %@", deviceToken]];
}

-(void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
    NSLog(@"Failed to get token, error: %@", error);
    [TestFlight passCheckpoint: [NSString stringWithFormat: @"Failed to register for remote notifications %@", error]];    
}

我的团队正在使用Test Flight在开发人员和利益相关者之间分发临时版本。

当我在自己的iPhone 4上构建应用程序时,应用程序会询问我是否允许推送通知,该应用程序也会出现在“设置”中。通知&gt;在通知中心

到目前为止,非常好......

当我创建开发ipa并在团队中分发时,不会询问其他用户是否允许推送通知,这不会出现在设置&gt;中。通知...

有人可以想到为什么会这样吗?

更新

对于分发,我正在使用团队配置文件构建应用程序,该配置文件的包ID为“*”而不是应用程序名称 - 这可能是问题吗?这是Apple自动生成的Team Provisioning Profile。

1 个答案:

答案 0 :(得分:7)

是的,这就是问题所在。推送通知的应用程序标识符中不能包含通配符(否则会推送到所有应用程序!)。