web-dev-qa-db-ja.com

CocoaPodsを介してgithubでRestkitのフォークを使用しますか?

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"];
}

「Oauth2」の代わりに「Bearer」を使用しています..。

プロジェクトにrestkitをインポートするためにCocoaPodsを使用しています。

GithubでRestkitリポジトリをフォークし、公式バージョンの代わりにCocoaPodを介してフォークを使用できますか?

32
Nicolas Henin

あなたは確かにできます。見てください https://github.com/CocoaPods/CocoaPods/wiki/Dependency-declaration-options

RestKitの.podspecファイルがリポジトリに含まれている場合は、Podfileを変更してフォークを指すようにすることができます。

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

残念ながら、RestKitには.podspecが含まれていません。代わりに、RestKit.podspechttps://github.com/CocoaPods/Specs/blob/master/RestKit/0.10.2/RestKit.podspec からコピーして、プロジェクトに追加してください。 .podspecを編集して、フォークをソースとして使用します。次に、Podfileでローカルの.podspecを指定できます。

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

または、この.podspecをフォークに追加して、以前の依存関係宣言を使用することもできます。

88
Jonah

この質問には受け入れられた答えがありますが、私は別のアプローチを追加したいと思いました。ある時点で(この質問が行われた後)、Podfiles(Podspecsだけでなく)にローカル参照を持つ機能がCocoapodsに追加されました。

GithubとカスタムPodspecsでカスタム作成パブリックフォークを作成するよりも、次の方が簡単です。

  1. Githubライブラリをローカルで複製します。
  2. プロジェクトに固有のライブラリで必要な変更を加える新しいローカルブランチを作成します。
  3. そのローカルディレクトリとローカルブランチを指すようにポッドファイルを変更します。

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

これにより、ライブラリの新しいバージョンを簡単に組み込むことができます(Originからそれらをプルしてから、ローカルブランチにマージするだけです)。

4
David Ogren