32

restkit 以不同的方式使用 oauth2 协议,我需要更改代码才能以我的方式使用它:

从:

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

至:

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

使用“Bearer”而不是“Oauth2”....

我正在使用 CocoaPods 在我的项目中导入 restkit。

我可以在 github 上 fork Restkit 存储库并通过 CocoaPod 使用 fork 而不是官方版本吗?

4

2 回答 2

88

你当然可以。看看https://github.com/CocoaPods/CocoaPods/wiki/Dependency-declaration-options

如果 RestKit 将其.podspec文件包含在存储库中,那么您只需将您的文件更改Podfile为指向您的 fork 即

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

不幸的是,RestKit 不包括它的.podspec. RestKit.podspec而是从https://github.com/CocoaPods/Specs/blob/master/RestKit/0.10.2/RestKit.podspec复制并将其添加到您的项目中。编辑.podspec以使用您的 fork 作为其源。然后,您可以.podspec在您的Podfile:

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

或者,您可以将其添加.podspec到您的 fork 并使用以前的依赖项声明。

于 2012-09-12T18:01:03.753 回答
4

尽管这个问题有一个公认的答案,但我想添加一种替代方法。在某个时间(我相信在提出这个问题之后)在 Podfiles(而不仅仅是 Podspecs)中具有本地引用的能力被添加到 Cocoapods 中。

与其在 Github 和自定义 Podspecs 中创建自定义创建公共分支,我发现它更容易:

  1. 在本地克隆 Github 库。
  2. 创建一个新的本地分支,我在该库中进行我需要的特定于我的项目的更改。
  3. 修改我的 Podfile 以指向该本地目录和本地分支:

    pod 'FXForms', :path => '~/Documents/Projects/RestKit', :branch => 'mybranch'
    

这使我可以轻松地合并任何新版本的库(只需将它们从源中拉出,然后将它们合并到我的本地分支中)。

于 2014-05-22T13:40:00.000 回答