Use a fork of Restkit on github via CocoaPods?

Nicolas Henin picture Nicolas Henin · Sep 12, 2012 · Viewed 11k times · Source

restkit is using in a different way the oauth2 protocol, I need to change the code to be able to use it in my way:

From:

// OAuth 2 valid request
if (self.authenticationType == RKRequestAuthenticationTypeOAuth2) {
    NSString *authorizationString = [NSString stringWithFormat:@"OAuth2 %@", self.OAuth2AccessToken];
    [_URLRequest setValue:authorizationString forHTTPHeaderField:@"Authorization"];
}

to:

// OAuth 2 valid request
if (self.authenticationType == RKRequestAuthenticationTypeOAuth2) {
    NSString *authorizationString = [NSString stringWithFormat:@"Bearer %@", self.OAuth2AccessToken];
    [_URLRequest setValue:authorizationString forHTTPHeaderField:@"Authorization"];
}

Use of "Bearer" instead of "Oauth2" ....

I'm using CocoaPods to import restkit in my project.

Can I fork Restkit repository on github and use the fork via CocoaPod instead of the official version?

Answer

Jonah picture Jonah · Sep 12, 2012

You certainly can. Take a look at https://github.com/CocoaPods/CocoaPods/wiki/Dependency-declaration-options

If RestKit included its .podspec file in the repository then you could just change your Podfile to point to your fork i.e.

pod 'RestKit', :git => 'https://github.com/you/RestKit.git'

Unfortunately RestKit does not include its .podspec. Instead copy RestKit.podspec from https://github.com/CocoaPods/Specs/blob/master/RestKit/0.10.2/RestKit.podspec and add it to your project. Edit the .podspec to use your fork as its source. You can then specify a local .podspec in your Podfile:

pod 'RestKit', :podspec => 'local/path/to/RestKit.podspec'

Alternately you might just add this .podspec to your fork and use the former dependency declaration.