0

我正在尝试通过转到 Build Phases > Link Binary With Libraries 并在磁盘上定位库来添加 libUAirship-1.4.0.a,这样做之后我仍然收到错误消息,提示使用未声明的标识符:UAirshipTakeOffOptionsLaunchOptionsKey、UAirship、UAPush。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.

    //Create Airship options dictionary and add the required UIApplication launchOptions
    NSMutableDictionary *takeOffOptions = [NSMutableDictionary dictionary];
    [takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];

    // Call takeOff (which creates the UAirship singleton), passing in the launch options so the
    // library can properly record when the app is launched from a push notification. This call is
    // required.
    //
    // Populate AirshipConfig.plist with your app's info from https://go.urbanairship.com
    [UAirship takeOff:takeOffOptions];

    // Set the icon badge to zero on startup (optional)
    [[UAPush shared] resetBadge];

    // Register for remote notfications with the UA Library. This call is required.
    [[UAPush shared] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                         UIRemoteNotificationTypeSound |
                                                         UIRemoteNotificationTypeAlert)];

    // Handle any incoming incoming push notifications.
    // This will invoke `handleBackgroundNotification` on your UAPushNotificationDelegate.
    [[UAPush shared] handleNotification:[launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey]
                       applicationState:application.applicationState];

    return YES;
}
4

2 回答 2

2

您需要 #import 与库关联的头文件才能使符号可用。对于这个库,我相信您希望将以下内容添加到源文件的顶部:

#import "UAirship.h"
#import "UAPush.h"
于 2013-02-28T11:18:59.143 回答
1

我已经看到了如何设置Header Search Paths的许多不同变体。对我来说,这行得通。Airship 文件夹与项目处于同一级别。

$(PROJECT_DIR)/Airship
于 2014-08-05T11:22:12.370 回答