我正在用一个全新的项目来解决这个问题。 RestKit和Facebook SDK都会发生此问题。 奇怪的SwiftyJSON工作得很好。 我创build了一个全新的swift项目和一个Podfile: source 'https://github.com/CocoaPods/Specs.git' use_frameworks! target 'test-fb-swift4' do pod "FBSDKCoreKit" pod 'SwiftyJSON', '~> 2.1' pod 'RestKit', :inhibit_warnings => true end target 'test-fb-swift4Tests' do end 创build该文件后,我运行pod install,然后用test-fb-swift4.xcworkspace文件重新打开xcode。 现在在我的控制器中,我把一个导入RestKit,我得到错误没有这样的模块'RestKit'。 我已经尝试了很多不同的方式来格式化Podfile,甚至是非常简单的版本,例如: source 'https://github.com/CocoaPods/Specs.git' pod 'RestKit' 我曾尝试添加和删除use_frameworks,有和没有目标。 有和没有:inhibit_warnings。 我正在运行CocoaPods 0.36.4,并尝试了最新的RC构build,同样的交易。 另一个项目的Objective-C版本运行良好。 这是我第一个使用Swift的项目,而且我被困在这个问题上。
我“pod更新”,我的RestKit版本现在是0.25.0,我的RKValueTransformers是1.1.2,并出现错误“RKObjectMapping.h”未find。 RestKit在新版本中有什么变化,我检查了它的github找不到任何东西。 以下步骤可以重现该错误: 1)创build一个新的项目 2)pod init Podfile看起来像: platform :ios, '8.3' #pod 'RestKit', '~> 0.20.0' #pod 'RestKit', '~> 0.24.1' pod 'RestKit' 在所有不同版本的情况下,问题都是一样的 3)打开.xcworkspace 4)在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> 要么 #import "RKObjectMapping.h" #import "RKRelationshipMapping.h" #import "RKResponseDescriptor.h" #import "RKObjectRequestOperation.h" #import "RKLog.h" #import "RKEntityMapping.h" #import "RKObjectManager.h" 错误仍然存在:在RestKit Pod文件中找不到“RKObjectMapping.h” 注意:我正在使用Xcode […]
我正在编写一个iPhone应用程序,我终于决定使用RestKit作为连接到REST服务的框架。 我想构build的方式是让我的应用程序中的控制器完全不可知的RestKit。 例如。 如果我有一个login屏幕,在通常的RestKit场景中(基于示例程序以及由RestKit开发人员创build的一些博客条目),您将使控制器实现RKRequestDelegate协议,并使用RKClient调用Controller中传递的服务自我(控制者)作为委托人。 我想隐藏从用户开发控制器和视图。 我在想的是以下。 我将有一个login用户的LoginService。 将有协议LoginServiceDelegate有两种成功和失败的方法。 控制器可以实现LoginServiceDelegate并在LoginService中调用Login方法,获得成功或失败的callback。 但是要做到这一点,我需要一些方法让我的LoginService将调用委托给控制器。 RestKit不允许我这样做,唯一的办法是通过用LoginServiceDelegate初始化LoginService,将该代理存储为属性,并在成功login或失败时在委托中调用适当的方法来完成此操作。 这使我的控制器代码库保持最小,完全隐藏了LoginService如何工作以及它在内部使用什么框架。 委托的使用也将控制器与模型分开,所以我们有一个很好的MVC事情。 但是我担心保留Controller对象的Model类的影响,因为它保留在委托中。 你将如何使用RestKit? 如果你认为我的方法是好的,你会改变什么来改善它? 如果你不喜欢我的方法,希望你的反馈,为什么你认为这不是一个好的做法。 这下面的代码片段应该给你一个更好的主意 @protocol LoginServiceDelegate; @interface LoginService : NSObject <RKRequestDelegate>{ NSObject<LoginServiceDelegate> *_loginServiceDelegate; } @property (retain, nonatomic) NSObject <LoginServiceDelegate> *loginServiceDelegate; – (id) initWithDelegate:(NSObject<LoginServiceDelegate>*) loginServiceDelegate; – (void) login:(NSString *)username withPassword:(NSString *)password; @end @protocol LoginServiceDelegate @optional – (void) loginSuccess:(LoginInfo *) loginInfo; – (void) […]
我在Xcode 7.1中安装了CocoaPods v0.3.0的RestKit v0.25.0,并且导入有问题。 当我使用CocoaPods v0.38.2一切都是惊人的。 找不到“RKHTTPUtilities.h”文件。 它解决了在$ {PODS_ROOT} / Headers / Public / RestKit的标题searchpath中设置recursion之后。 但是我得到这个错误'lcl_RK.h'文件没有在RKLog.h中find。 我也尝试这样做。
我对RestKit是全新的,我正在挣扎。 JSON: { "teams": [ { "id": 1, "name": "Team A" }, { "id": 2, "name": "Team B" } ], "users": [ { "id": 1, "name": "cameron", "teamId": 1 }, { "id": 2, "name": "paul", "teamId": 2 } ] } CoreData: @interface Team : NSManagedObject @property (nonatomic, retain) NSNumber * teamId; @property (nonatomic, retain) NSString […]