web-dev-qa-db-fra.com

RKObjectMapping.h introuvable

Je "pod update", et ma version RestKit est maintenant 0.25.0, mon RKValueTransformers est 1.1.2, et une erreur est apparue "RKObjectMapping.h" introuvable.

Qu'est-ce que RestKit a changé dans la nouvelle version, que je vérifie sur son github ne trouve rien.

Les étapes suivantes peuvent reproduire l'erreur:

1) Créez un nouveau projet

2) pod init

Podfile ressemble à:

platform :ios, '8.3'
#pod 'RestKit', '~> 0.20.0'
#pod 'RestKit', '~> 0.24.1'
pod 'RestKit'

Dans tous les cas de versions différentes, le problème est le même

3) ouvrez .xcworkspace

4) dans le viewcontroller.m

#import <RestKit/ObjectMapping/RKObjectMapping.h>
#import <RestKit/ObjectMapping/RKRelationshipMapping.h>
#import <RestKit/Network/RKResponseDescriptor.h>
#import <RestKit/Network/RKObjectRequestOperation.h>
#import <RestKit/Support/RKLog.h>
#import <RestKit/CoreData/RKEntityMapping.h>
#import <RestKit/Network/RKObjectManager.h>

ou

#import "RKObjectMapping.h"
#import "RKRelationshipMapping.h"
#import "RKResponseDescriptor.h"
#import "RKObjectRequestOperation.h"
#import "RKLog.h"
#import "RKEntityMapping.h"
#import "RKObjectManager.h"

L'erreur est toujours là: "RKObjectMapping.h" introuvable dans un fichier de RestKit Pod

Remarque: j'utilise Xcode 7-beta5, Objective-C

48
chipbk10

Après un certain temps, j'ai remarqué que l'erreur ne venait pas de RestKit. Il provient de la mise à niveau de la dernière version des cocoapods (0.39.beta.4).

Le chemin de recherche d'en-tête n'est plus en mode récursif.

La solution de contournement vient de rétrograder la version des cocoapods à 0.38.0.

1) Supprimer la dernière version de Cocoapod

 Sudo gem désinstalle les cocoapods 

2) installez la version 0.38.0

 Sudo gem install cocoapods -v 0.38.0 

L'espoir peut aider quelqu'un.

Mise à jour:

Merci Vig que nous puissions faire pod avec une version spécifique:

 pod _0.38.0_ update 
 pod _0.38.0_ install 
75
chipbk10

Il existe un moyen simple de contourner ce problème lorsque vous ne souhaitez pas toucher aux cocoapodes. parce que les fixer lui-même est un problème. J'ai résolu mon problème comme suit:

Cliquez sur votre dossier de projet
Allez ensuite dans paramètres de construction recherchez "chemin de recherche d'en-tête"
Avec le menu déroulant il suffit de les faire récursif.

Vous devriez rechercher:

${PODS_ROOT}/Headers/Public/AFNetworking
${PODS_ROOT}/Headers/Public/Bolts
${PODS_ROOT}/Headers/Public/ISO8601DateFormatterValueTransformer
${PODS_ROOT}/Headers/Public/RKValueTransformers
${PODS_ROOT}/Headers/Public/RestKit 
${PODS_ROOT}/Headers/Public/SOCKit
${PODS_ROOT}/Headers/Public
96
Alix

Cela a finalement été corrigé dans la branche de développement de RestKit avec le correctif final se trouvant dans 1d8f3e332, je pense.

Espérons qu'il sera bientôt fusionné en master.

Pour l'instant, si vous vous sentez courageux, vous pouvez utiliser

pod 'RestKit', :git => '[email protected]:RestKit/RestKit.git', :commit => '1d8f3e3325d959094a3f96c832bf9f54c9c48df3'
1
kball