1

我试图在游戏开始时删除 nextpeer 欢迎通知。

这是我在 .h 中的代码

@interface AppDelegate : NSObject <UIApplicationDelegate,NextpeerDelegate,NPTournamentDelegate,NPNotificationDelegate,..>

//在 AppDelegate.m 中

- (void)initializeNextpeer
{
    NSDictionary* settings = [NSDictionary dictionaryWithObjectsAndKeys:

                              // This game has no retina support - therefore we have to let the platform know
                              [NSNumber numberWithBool:TRUE], NextpeerSettingGameSupportsRetina,
                              // Support orientation change for the dashboard notifications
                              [NSNumber numberWithBool:FALSE], NextpeerSettingSupportsDashboardRotation,
                              // Support orientation change for the in game notifications
                              [NSNumber numberWithBool:TRUE], NextpeerSettingObserveNotificationOrientationChange,
                              //  Place the in game notifications on the bottom screen (so the current score will be visible)
                              [NSNumber numberWithInt:NPNotificationPosition_BOTTOM], NextpeerSettingNotificationPosition,
                              nil];



    [Nextpeer initializeWithProductKey:@"HERE ADDED GAME KEY" andSettings:settings andDelegates:
     [NPDelegatesContainer containerWithNextpeerDelegate:self notificationDelegate:[NPCocosNotifications sharedManager] tournamentDelegate:self]];


}
- (BOOL)nextpeerShouldShowWelcomeBanner {
    return NO; // Do not Show banner
}

Nextpeer 工作得很好。只有这个函数不会被触发。怎么了?

4

2 回答 2

1

nextpeerShouldShowWelcomeBanner是方法上的NPNotificationDelegate,不是上的NextpeerDelegate。在您的代码示例中,通知委托是[NPCocosNotifications sharedManager]. 因此,您应该将该方法移至该对象,或设置不同的通知委托。

于 2013-06-10T07:55:12.690 回答
1

编辑:这不再适用 - Nextpeer (1.7.4) 的当前版本似乎不支持这一点。

您需要将该方法添加到实现NPNotificationDelegatenot的任何类NextPeerDelegate

但问题是,默认NPNotificationDelegateNPCocosNotifications- 这是 Nextpeer 库中的一个类。因此,当您更新库时,您还需要记住对新版本的NPCocosNotifications.

但是有一种更简洁的方法可以使用类别来执行此操作,这意味着您无需在更新时再次进行编辑。

1)

创建这个文件:NSObject+NPCocosNotification_NotShowWelcomeBanner.h

#import <Foundation/Foundation.h>
#import "NPCocosNotifications.h"

@interface NPCocosNotifications (NPCocosNotification_NotShowWelcomeBanner)

@end

创建这个文件:NSObject+NPCocosNotification_NotShowWelcomeBanner.m

#import "NSObject+NPCocosNotification_NotShowWelcomeBanner.h"

@implementation NPCocosNotifications (NPCocosNotification_NotShowWelcomeBanner)

- (BOOL)nextpeerShouldShowWelcomeBanner {
    return NO; // Do NOT show banner as the game starts up
}

@end

将这些文件拖到项目中,确保选中“复制到目标组的文件夹(如果需要)”和“添加到目标(您的项目的构建目标名称)”。

2)将此行添加到您的应用程序委托和引用的任何其他文件NPCocosNotification

// This adds a method to prevent the welcome banner showing
#import "NSObject+NPCocosNotification_NotShowWelcomeBanner.h"

关闭横幅的新方法将添加到NPCocosNotifications:)

于 2013-10-07T18:02:45.827 回答