Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7718179
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T03:06:07+00:00 2026-06-01T03:06:07+00:00

I copied rich push sample from the UrbanAirship.com. And initialize the airship in the

  • 0

I copied rich push sample from the UrbanAirship.com.
And initialize the airship in the app delegate didFinishLaunchingWithOptions.

//Init Airship launch options
NSMutableDictionary *takeOffOptions = [[[NSMutableDictionary alloc] init] autorelease];
[takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];    
NSMutableDictionary *analyticsOptions = [[[NSMutableDictionary alloc] init] autorelease];
[analyticsOptions setValue:@"NO" forKey:UAAnalyticsOptionsLoggingKey];
[takeOffOptions setValue:analyticsOptions forKey:UAirshipTakeOffOptionsAnalyticsKey];

add remote notification observer and register device token.
But after the run the app, I cannot find any rich push user on the my app detail page of the UrbanAirship.com.
So I cannot test rich push notification.
What’s wrong? I am looking forward answer.

(Following are log)

 -[UAAnalytics initWithOptions:] [Line 216] Analytics logging not enabled
 MyApp[3285:707] -[UAUser migrateUser] [Line 187] Migrating User Info: (null)
MyApp[3285:707] -[UAUser loadUser] [Line 268] User Info: (null)
MyApp[3285:707] -[UAInboxMessageList loadSavedMessages] [Line 103] before retrieve saved messages: (null)
MyApp[3285:707] -[UAInboxMessageList loadSavedMessages] [Line 109] after retrieve saved messages: (
)
...
MyApp[3285:707] applicationDidBecomeActive
MyApp[3285:707] -[UAUser listenForDeviceTokenReg] [Line 964] ListenForDeviceTokenReg
MyApp[3285:707] -[UAInboxMessageList requestWentWrong:] [Line 310] Inbox Message List Request Failed: Authentication needed
MyApp[3285:707] -[UAirship setDeviceToken:] [Line 306] Device token: daa75616a2f9b2b2c5e8e42fe6236cae031be082a3e3ddf1af6b00d8ad444444
MyApp[3285:707] -[UAUser observeValueForKeyPath:ofObject:change:context:] [Line 996] KVO device token modified
MyApp[3285:707] -[UAUser updateDefaultDeviceToken] [Line 1011] Updating device token
MyApp[3285:707] -[UAUser updateDefaultDeviceToken] [Line 1016] Skipping device token update: no token, already up to date, or user is being updated.
MyApp[3285:707] -[UAUser retrieveRequestFailed:] [Line 935] User retrieval failed: 401:Authorization Required
MyApp[3285:707] -[UAirship registerDeviceTokenSucceeded:] [Line 334] Device token registered on Urban Airship successfully.
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T03:06:09+00:00Added an answer on June 1, 2026 at 3:06 am

    I had the same problem. UrbanAirship’s answer is here – As a one time solution add DELETE_KEYCHAIN_CREDENTIALS = YES the the configuration file. I build my UA config file, I do not use the AirshipConfig.plist, so I added a switch to the settings to allow this line to be added as needed.

    Here is the code I use to build the settings array:

    - (void)urbanAirshipTakeoffWithLaunchOptions:(NSDictionary *)launchOptions {
    
        // Init Airship launch options
        NSMutableDictionary *takeOffOptions = [[NSMutableDictionary alloc] init];
        [takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];
    
        // Build the Urban Airship TakeOffOptions
        NSMutableDictionary *airshipConfigOptions = [[NSMutableDictionary alloc] init];
    
        /*
         * Set up the Push keys based on target
         */
    
        // TARGET1
    #ifdef TARGET1
        NSLog(@"Urban Airship - Target TARGET1");
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"DEVELOPMENT_APP_KEY"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"DEVELOPMENT_APP_SECRET"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"PRODUCTION_APP_KEY"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"PRODUCTION_APP_SECRET"];
    #endif
    
        // TARGET2
    #ifdef TARGET2
        NSLog(@"Urban Airship - Target TARGET2");
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"DEVELOPMENT_APP_KEY"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"DEVELOPMENT_APP_SECRET"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"PRODUCTION_APP_KEY"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"PRODUCTION_APP_SECRET"];
    #endif
    
        // TARGET3
    #ifdef TARGET3
        NSLog(@"Urban Airship - Target TARGET3");
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"DEVELOPMENT_APP_KEY"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"DEVELOPMENT_APP_SECRET"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"PRODUCTION_APP_KEY"];
        [airshipConfigOptions setValue:@"xxxxxxxxxxxxxxxxxxxxxx" forKey:@"PRODUCTION_APP_SECRET"];
    #endif
    
        // If CONFIGURATION_Debug is definied, then use the development servers, else use the production servers
    #ifdef CONFIGURATION_Debug
        [airshipConfigOptions setValue:@"NO" forKey:@"APP_STORE_OR_AD_HOC_BUILD"];
        NSLog(@"Using Development Servers at Urban Airship");
    #else
        [airshipConfigOptions setValue:@"YES" forKey:@"APP_STORE_OR_AD_HOC_BUILD"];
        NSLog(@"Using Production Servers at Urban Airship");
    #endif
    
        // Erase stored user information from keychain - set in settings?
        if(self.getEraseUser) [airshipConfigOptions setValue:@"YES" forKey:@"DELETE_KEYCHAIN_CREDENTIALS"];
    
        // Set and start Urban Airship
        [takeOffOptions setValue:airshipConfigOptions forKey:UAirshipTakeOffOptionsAirshipConfigKey];
        [UAirship takeOff:takeOffOptions];
    
        // If the application gets an UAInbox message id on launch open it up immediately. Only works for the default inbox
        [UAInbox useCustomUI:[UAInboxUI class]]; //sample UI implementation
        [UAInbox shared].pushHandler.delegate = [UAInboxUI shared];
        [UAInboxUI shared].inboxParentController = self.tabcontroller;
        [UAInboxPushHandler handleLaunchOptions:launchOptions];
    
        if([[UAInbox shared].pushHandler hasLaunchMessage]) {
            [[[UAInbox shared] uiClass] loadLaunchMessage];
        }
    
        // Register for push notifications
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                                               UIRemoteNotificationTypeSound |
                                                                               UIRemoteNotificationTypeAlert)];
    
    }
    

    After running this, my log file shows:

    2012-03-30 10:32:33.505 iFlightBag[13792:707] -[UAInboxMessageList messageListReady:] [Line 188] after retrieveMessageList, messages: (
    "4e825e6863051f2fed001efa - New User Welcome"
    )
    2012-03-30 10:32:33.632 ThisApp[13792:707] -[UAUser updatedDefaultDeviceToken:] [Line 1036] Updated Device Token response: 200
    2012-03-30 10:33:32.089 ThisApp[13792:707] +[UAKeychainUtils getDeviceID] [Line 263] Retrieved device id info from keychain.
    2012-03-30 10:33:32.090 ThisApp[13792:707] +[UAKeychainUtils getDeviceID] [Line 267] Device ID result is not nil.
    

    Showing a new user was created. I am using the rich text inbox based on alias and tags. So the username does not effect my application.

    Did I miss anything?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This code is copied directly from http://java.sun.com/docs/books/jni/html/objtypes.html#4013 JNIEXPORT jstring JNICALL Java_Prompt_getLine(JNIEnv *env, jobject obj,
Copied from the site http://github.com/notahat/machinist/ Machinist makes it easy to create test data within
copied following code from http://jqueryui.com/demos/resizable/#default <meta charset=utf-8> <style>#resizable { width: 150px; height: 150px; padding:
Copied from my log file ActionView::Template::Error (Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs
Copied: bin runtimes airApp-app.xml airApp.swf Calling: G:\adl\bin\adl.exe -nodebug G:\adl\airApp-app.xml Nothing on the screen, nothing
I copied come text from a The Huffington Post article and found that the
I copied this code from an example . I've read it 100 times. Array.prototype.map
I copied this code (in spanish) http://www.elrincondelc.com/nuevorincon/index.php?pag=codigos&id=4 and wrote a new one. This is
I copied the exact (working) colladaLoader code from three.js on github, and put it
I copied the Google Maps AutoComplete JS example from the demo here: Places Map

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.