cs193p – Assignment #6 Part #3

Please note, this blog entry is from a previous course. You might want to check out the current one.

Download Photos from Flickr using the background fetching API

Assignment #6 Task #7

Fetch the URLforRecentGeoreferencedPhotos from Flickr periodically (a few times an hour when your application is in the foreground and whenever the system will allow when it is in the background using the background fetching API in iOS). You must load this data into a Core Data database with whatever schema you feel you need to do the rest of this assignment.


Task #7 requires to use the background fetching API instead of using ephemeral sessions like we did in part #2.

Add the background-fetching capability to your target:

cs193p – assignment #6 task #1 - add background fetch capability
add background fetch capability

Continue reading “cs193p – Assignment #6 Part #3”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #6 Part #2

Please note, this blog entry is from a previous course. You might want to check out the current one.

… back to the actual task … prevent the “old” top-places table view controller from loading photos we do not need any more:

- (void)viewDidLoad
{
    [super viewDidLoad];
//    [self fetchPlaces];
}

Download Photos from Flickr using URLforRecentGeoreferencedPhotos:

Assignment #6 Task #1

Your application must work identically to last week except that where you are displaying the “top places” (as reported by Flickr), you are going to display the “top regions” in which photos have been taken. You will calculate the most popular regions from the data you gather periodically from the URLforRecentGeoreferencedPhotos.

Continue reading “cs193p – Assignment #6 Part #2”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #6 Part #1

Please note, this blog entry is from a previous course. You might want to check out the current one.

You might have noticed that since the last post – finishing with the tasks of assignment #5 – nearly half a year has gone by. Partly, because I had to earn money … if you feel the need to help there, you are welcome to use the flattr or paypal buttons at the end of this post, or just buy one of my apps in the AppStore and write nice reviews. But mostly, I delayed this post because of the structure of this assignment … there is none … where all the other assignments were straight forward, and most of the tasks were separated from each other, the tasks of this assignment are interspersed with each other. I could not find a way to separate them in a sensible way. I tried, I failed …

I have got a couple of emails asking about the sixth assignment. My guilty conscience forces me to continue. WWDC starts any minute, I should try to finish before iOS 8 is available (to late … ).
Continue reading “cs193p – Assignment #6 Part #1”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #5 Task #11

Please note, this blog entry is from a previous course. You might want to check out the current one.

The list of recent photos should be saved in NSUserDefaults (i.e. it should be persistent across launchings of your application). Conveniently, the arrays you get back from the FlickrFetcher URLs are all property lists (once converted from JSON).

Create a new public instance method for the Flickr helper class to return the ID of the photo (again, it is not really complicated to get the ID but let’s keep everything Flickr related encapsulated inside the helper class):

+ (NSString *)IDforPhoto:(NSDictionary *)photo
{
    return [photo valueForKeyPath:FLICKR_PHOTO_ID];
}

Continue reading “cs193p – Assignment #5 Task #11”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #5 Task #10

Please note, this blog entry is from a previous course. You might want to check out the current one.

Your application must work in both portrait and landscape orientations on both the iPhone and the iPad. Use appropriate platform-specific UI idioms (e.g. don’t let your iPad version look like a gigantic iPhone screen).

Remove everything from the iPad storyboard. Add a new split view controller, but remove all of the controllers but the split view controller itself. Go to the iPhone storyboard. Copy everything and paste it to the iPad story board. Remove both segues to the image view controller. Make the tab-bar view controller the master of the split view controller. Embed the image view controller inside a navigation view controller and make this one the detail view of the split view controller. Finally disable the animation of the activity indicator of the split view:

cs193p – assignment #5 task #10 - iPad storyboard
cs193p – assignment #5 task #10 – iPad storyboard

Continue reading “cs193p – Assignment #5 Task #10”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #5 Task #9

Please note, this blog entry is from a previous course. You might want to check out the current one.

Your application’s main thread should never be blocked (e.g. Flickr fetches must happen in a different thread). If your application is waiting for something over the network, it should give feedback to the user that that is happening.

… we took already care of that, too …

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail