This article is a record to summarized my project to migration from Three20 to Nimbus.
Here is specific step by step to help you porting (migrate) your three20
Original project is a Facebook photo album which implement base on http://www.raywenderlich.com/1430/three20-tutorial-for-ios-how-to-use-the-three20-photo-viewer
-
Add Nimbus in your project
-
Sync code
-
git clone https://github.com/jverkoey/nimbus.git
-
Goes to nimbus path
-
git submodule init
-
git submodule update
-
-
Include nimbus code in project
-
Core
-
Photos
-
Paging Scroll View
-
Models
-
Overview
-
-
Include Thirdparty in your code
-
JSONKit
- remember to add “-fno-objc-arc” on Targets -> Build Phase -> Compiling Phase to disable ARC compiling
-
AFNetworking
-
-
Add framework
-
libz.dylib
-
MobileCoreServices.framework
-
SystemConfiguration.framework
-
CFNetwork.framework
-
-
Add those three include in your pch
-
#import “NimbusCore.h”
#import “NimbusPhotos.h”
#import “NimbusModels.h”
-
Remove original Three20 project
- Remove all Three20 xproj in your framework.
-
Replace using to replace TTPhotoViewController to FacebookPhotoAlbumViewController
-
Remove photo.h Photo.m
-
Remove PhotoSet.h PhotoSet.m
-
Remove PhotoViewController.h PhotoViewController.m
-
Drag NimbusPhotos.bundle from src/photos/resources into your project.
-
Add follow file into your project
-
NetworkPhotoAlbumViewController.m NetworkPhotoAlbumViewController.h
-
FacebookPhotoAlbumViewController.m FacebookPhotoAlbumViewController.h
-
CaptionedPhotoView.m CaptionedPhotoView.h
-
-
Replace PhotoSource related code to follow direct using album ID
-
LikePersonAlbum *myEntity = [_fetchResultControllerobjectAtIndexPath:indexPath];
Class vcClass = [FacebookPhotoAlbumViewControllerclass];
id initWith = _Facebookalbum_id;
NSString* title = @”test1”;
UIViewController* vc = [[vcClass alloc] initWith:initWith];
vc.title = title;
[self.navigationControllerpushViewController:vc animated:YES];
- Done, less than 2 hours.
Advantage
-
Fast, easy to porting your code to source version control without any setting.
-
Compiler time reduce a lot. (Really~~~ a lot)
TODO:
- According to Nimbus “Three20 migration Guide”, we should use NIToolbarPhotoViewController. Will check it later.