Question

I have an iOS application which downloads a JSON feed from this URL:

https://www.googleapis.com/youtube/v3/activities?part=snippet%2CcontentDetails&home=true&maxResults=50&access_token=%@

I am storing the URL in a NSString for later use. I am also adding a NSString to the end of the URL which contains an access token which I am using for OAuth Authentication (hence the %@ at the very end of the URL).

Here is how I am storing the URL:

NSString *pre_yt_user_url = [NSString stringWithFormat:@"https://www.googleapis.com/youtube/v3/activities?part=snippet%2CcontentDetails&home=true&maxResults=50&access_token=%@", token_youtube];

As you can see part of the URL has a %2C

This is causing a warning and making my iOS app to crash!!

Here are the warning I get:

Format specifies type 'unsigned-short' but the argument has type NSString

and:

More % conversions than data arguments

What am I doing wrong here? Can't I store a URL in a string??

Thanks, Dan.

Was it helpful?

Solution

When using stringWithFormat the % character is the start of a data argument unless it's escaped. So you need to escape it because you don't want to use it as a supplied parameter. You need to use %%2C (because the first % escapes the second %).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top