2012-09-12 8 views
32

restkit está utilizando de una manera diferente el protocolo de oauth2, tengo que cambiar el código para poder utilizarlo en mi camino:Usa un tenedor de Restkit en github a través de cocoaPod?

Desde:

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

a:

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

Uso de "Portador" en lugar de "Oauth2" ....

Estoy usando coacoaPod para importar el kit de repuesto en mi proyecto.

¿Puedo bifurcar el repositorio Restkit en github y usar el tenedor a través de CocoaPod en lugar de la versión oficial?

+1

Si cree que los cambios tienen sentido, intente realizar una solicitud de extracción al proyecto original. Como beneficio adicional, no tendrás que preocuparte por mantener tu tenedor en el futuro. – Rivera

Respuesta

85

Sin duda puede. Miren https://github.com/CocoaPods/CocoaPods/wiki/Dependency-declaration-options

Si RestKit incluido su archivo en el repositorio .podspec entonces se podría simplemente cambiar su Podfile para apuntar a su tenedor es decir

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

Desafortunadamente RestKit no incluye su .podspec. En su lugar, copie RestKit.podspec en https://github.com/CocoaPods/Specs/blob/master/RestKit/0.10.2/RestKit.podspec y agréguelo a su proyecto. Edite el .podspec para usar su horquilla como fuente. A continuación, puede especificar un local de .podspec en su Podfile:

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

alternativa que sólo podría añadir este .podspec a su tenedor y utilizar la primera declaración de dependencia.

+0

¡Gracias por responder mi propia pregunta! –

+0

También puede señalar un ', commit => 'aabbcc'' preciso desde su fork o desde el repositorio original. – Rivera

+1

También ',: branch => 'branch-name-here'' en una bifurcación dada. – kbpontius

4

Aunque esta pregunta tiene una respuesta aceptada, quería agregar un enfoque alternativo. En algún momento (creo que después de esta pregunta) se agregó la capacidad de tener referencias locales en Podfiles (y no solo Podspecs) a Cocoapods.

En lugar de crear la costumbre de crear horquillas públicas en Github y costumbre Podspecs, me resulta más fácil:

  1. clonar la biblioteca de Github localmente.
  2. Crea una nueva sucursal local donde realizo los cambios que necesito en esa biblioteca que son específicos de mi proyecto.
  3. modificar mi PODFILE para que apunte a ese directorio local y rama local:

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

Esto hace que sea fácil para que incorpore las nuevas versiones de la biblioteca (con sólo tirar de ellos de origen y luego fusionándolos en mi sucursal local).

+2

Esta solución solo funciona si compila desde su propia máquina. Si estás en un equipo o tienes un servidor de compilación, esto no funcionará. –

Cuestiones relacionadas