标签: restkit

我无法在Swift项目中的两个目标中使用我的核心数据模型

Core Data模型中实体模型的类名必须在其前面加上应用程序名称.因此,对于名为User的实体,模型编辑器中的类名必须是MyAppName.User.这工作正常,直到我向我的项目添加第二个目标.

新项目期望实体类名称为SecondAppTargetName.User.我们如何使用相同的核心数据模型支持两个目标?我尝试使用$ {PRODUCT_NAME} .User,而不是期望它能够正常工作.它不起作用.

有关如何在目标之间共享一个核心数据模型以及满足Swift项目的需求以使PRODUCT_NAME在模型编辑器中加入类的任何想法?

编辑:从Apple文档中可以看出,在模型实体检查器中将模块名称作为类名添加前缀是首选行为.如果是这样,这似乎是一个巨大的漏洞,因为它排除了使用相同数据模型的多个目标.我还没有找到解决办法.SO上的一些帖子表明在托管对象的Swift类定义前面使用@objc(ClassName)可以解决这个问题,但我还没有能够验证.

core-data ios restkit swift

16
推荐指数
1
解决办法
2430
查看次数

找不到Xcode 7.1标头

在存档期间,Xcode 7.1确实Restkit/Restkit.h没有找到,但在调试中它成功找到了标题.这是一个不使用可可豆荚的旧项目,因此在其中手动添加RestKit.试过很多解决方案但没有成功.需要帮助.

xcode restkit xcode7.1

16
推荐指数
2
解决办法
7920
查看次数

未知的类型名称'AFNetworkReachabilityStatus',RestKit突然停止工作

我的应用程序今天停止编译,它已经与RestKit一起工作了几个月.我没有更改任何代码.我所做的只是pod install再次运行命令.

我试过这个方法.这个问题已经在3年前了.我正在使用Swift,所以我没有该.pch文件.

我所做的是手动创建Prefix.pch文件插入代码.它对我不起作用.我还将导入添加到Briding-Header文件中,也不起作用.

有没有人和我有同样的问题?

错误信息:

在此输入图像描述

Xcode: 7.2.1 RestKit: 0.25.0 AFNetworking: 1.3.4

ios restkit afnetworking swift

16
推荐指数
1
解决办法
877
查看次数

通过RestKit将JSON的本地NSString反序列化为对象(无网络下载)

是否可以NSString通过RestKit将JSON 反序列化为对象?我在这里检查了API列表,找不到可以用于此目的的东西.我能找到的最接近的是NSDictionary解析输入后返回的各种解析器类.我假设RestKit在下载响应后使用这些解析器,所以我的想法是RestKit中的某个功能可用,但不公开.

如果我没有遗漏任何东西并且没有公开这个功能,那么替代方案是什么?两个明显的看起来不太有希望:获得结果NSDictionary并尝试反序列化自己(有效地重新实现RestKit)或尝试深入RestKit源并查看是否可以某种方式暴露(看起来单调乏味且容易出错).

在此先感谢您的帮助.

PS:我们的想法是,反序列化对象上的字符串属性实际上是另一组对象的JSON表示(在某种意义上是嵌入式JSON),并且在运行时根据需要进行反序列化.

iphone ios restkit

15
推荐指数
4
解决办法
7126
查看次数

Restkit Post不发送对象

我正在创建一个使用restkit的IOS应用程序,我能够做GET请求没有问题,并且它正确地映射了一切但是,我无法让restkit对数据库进行POST.它正在回应说:

`{"errors":{"email":["can't be blank"],"password":["can't be blank"]}}`
Run Code Online (Sandbox Code Playgroud)

我感觉这个物体没有被发送.这是我在我的app委托中设置所有映射的代码.

RKObjectMapping *userMapping     = [RKObjectMapping mappingForClass:[User       class]];
RKObjectMapping *dogMapping      = [RKObjectMapping mappingForClass:[Dog        class]];
RKObjectMapping *posttimeMapping = [RKObjectMapping mappingForClass:[PostTime   class]];
RKObjectMapping *postMapping     = [RKObjectMapping mappingForClass:[Post       class]];
RKObjectMapping *activityMapping = [RKObjectMapping mappingForClass:[Activity   class]];

        // set up which attributes go where
[userMapping        addAttributeMappingsFromDictionary:[User propertyMappings]];
[dogMapping         addAttributeMappingsFromDictionary:[Dog propertyMappings]];
[posttimeMapping    addAttributeMappingsFromDictionary:[PostTime propertyMappings]];
[postMapping        addAttributeMappingsFromDictionary:[Post propertyMappings]];
[activityMapping    addAttributeMappingsFromDictionary:[Activity propertyMappings]];

        // set up relationships
[userMapping        addRelationshipMappingWithSourceKeyPath:@"dogs"         mapping:dogMapping];
[dogMapping         addRelationshipMappingWithSourceKeyPath:@"timeline"     mapping:posttimeMapping];
[posttimeMapping    addRelationshipMappingWithSourceKeyPath:@"posts"        mapping:postMapping];
[postMapping        addRelationshipMappingWithSourceKeyPath:@"activities"   mapping:activityMapping];


    // what to print
RKLogConfigureByName("RestKit/Network", …
Run Code Online (Sandbox Code Playgroud)

objective-c ios restkit restkit-0.20

15
推荐指数
1
解决办法
8878
查看次数

RestKit性能和核心数据

只需要下载9,000个物体,RestKit的性能就会慢得令人无法接受 - 它在模拟器上花费了10分钟,在iPad Mini上花费了不确定的时间.

我有几个表,我从一个安静的界面下载.这一切都有效,但似乎存在指数尺度问题,当有许多对象时,这个问题变得无法忍受.下表遇到的问题最多:

optionMapping.identificationAttributes = @[@"optionID"];

// OptionType
RKEntityMapping *optionTypeMapping = [RKEntityMapping mappingForEntityForName:@"OptionType" inManagedObjectStore:rkMOS];
[optionTypeMapping addAttributeMappingsFromDictionary:@{
 @"id" : @"optionTypeID",
 @"option_type" : @"optionType",}];

optionTypeMapping.identificationAttributes = @[@"optionTypeID"];
Run Code Online (Sandbox Code Playgroud)

属性optionTypeID在Core Data中编制索引,不是可选的.

与其他表有一些关系,我将其映射如下:

// Option.optionType -> OptionType

[optionMapping addConnectionForRelationship:@"optionType" connectedBy: @"optionTypeID"];

// Option.unit -> Unit

[optionMapping addConnectionForRelationship:@"unit" connectedBy:@"unitID"];
Run Code Online (Sandbox Code Playgroud)

这些似乎不是问题 - 我评论了它们,下载仍然非常非常慢.

我设置了一个响应描述符(这是一个目录,所以我只需要下载它).请注意,以下代码显示了所有表的设置.

NSArray *reqA = @[@{@"endpoint" : API_VENDORS_ENDPOINT,
                    @"mapping" : vendorMapping},

                  @{@"endpoint" : API_OPTION_TYPES_ENDPOINT,
                    @"mapping" : optionTypeMapping},

                  @{@"endpoint" : API_OPTIONS_ENDPOINT,
                    @"mapping" : optionMapping},

                  @{@"endpoint" : API_UNITS_ENDPOINT,
                    @"mapping" : unitMapping},

                  @{@"endpoint" : API_PRICE_TIERS_ENDPOINT,
                    @"mapping" …
Run Code Online (Sandbox Code Playgroud)

ios restkit

15
推荐指数
1
解决办法
849
查看次数

来自服务器的Restkit json错误响应消息

我已经花了很多时间来解决这个问题.我使用Restkit 0.9.3与Object Mapping 2.0.所有数据都是JSON.我可以正确地进行GET,POST,PUT和DELETE操作,它是我没有捕获的响应体并且正确地映射..

所以我的问题是,当出现问题时,我的restful api会返回错误.我想用restkit映射这些错误,fx返回此错误:

{"code":"401","message":"未经授权"}

如何映射这个json正确?我尝试了很多东西,可以使用一些指导 - 或者请举一个例子.

api json response ios restkit

14
推荐指数
3
解决办法
7262
查看次数

在RestKit(iOS)中使用force_load链接器标志

我正在使用Facebook iOS SDK,AWS iOS SDK和RestKit.为了让Facebook和AWS玩得很好(有重复的符号),我不得不将我的其他链接器标志更改为-force_load facebook-ios-sdk/lib/facebook-ios-sdk/libfacebook_ios_sdk.a.现在,当我运行我的应用程序时,我收到了与RestKit相关的错误:

2012-06-28 15:55:15.336 MyApp [1640:707] - [__ NSCFString isIPAddress]:无法识别的选择器发送到实例0x35f440

2012-06-28 15:55:15.338 MyApp [1640:707] *由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [__ NSCFString isIPAddress]:无法识别的选择器发送到实例0x35f440'

我无法使用-ObjCall-load链接器标志,因为这阻止我使用Facebook和AWS构建.

有谁知道我应该如何设置我的链接器标志,以便我可以一起使用所有3(FB,AWS,RestKit)?谢谢!

xcode facebook amazon-web-services ios restkit

14
推荐指数
2
解决办法
8226
查看次数

当RKObjectManager无法发布对象时,如何丢弃一个对象中的CoreData更改

当RKObjectManager中此对象的POST/PUT请求失败时,如何丢弃对NSManagedObject实例所做的CoreData更改?

NSManagedObject *object = ...;
[object setValue:@"test" forKey: @"test"];
[[RKObjectManager sharedManager] postObject:object 
                                 parameters:nil 
                                    success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { NSLog(@"success, nothing to do"); }
                                    failure:^(RKObjectRequestOperation *operation, NSError *error) { 
  // I want to discard changes made to object here 
}
Run Code Online (Sandbox Code Playgroud)

更新:RestKit 0.20

core-data objective-c ios restkit

14
推荐指数
1
解决办法
3979
查看次数

RestKit OAuth 2密码验证流程

我正在使用RestKit和自己的OAuth2提供程序.我尝试通过资源所有者密码凭据进行身份验证.

任何人都可以提供一些示例代码和最佳实践,一般通过RestKit请求受保护的资源,并通过凭据进行身份验证以获取特定的访问令牌?

可能ResKit本身不是最好的选择吗?

ios restkit

13
推荐指数
1
解决办法
3342
查看次数