9

有点奇怪的问题...

在我的 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 上构建应用程序时,应用程序会询问我是否希望允许推送通知,并且该应用程序也会出现在设置 > 通知 > 在通知中心中

到目前为止,一切都很好...

当我创建开发 ipa 并将其分发给团队时,不会询问其他用户是否希望允许推送通知,并且这不会出现在设置 > 通知中...

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

更新

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

4

1 回答 1

7

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

于 2012-05-22T02:39:29.787 回答