S.P*_*lip 5 iphone facebook objective-c duplicates sbjson
在我的应用程序中,我使用SBJSON框架(Stig Brautaset)与我的json api进行交互,一切运行良好.
但现在我正在使用Facebook SDK使用Facebook SSO.所以我按照Facebook开发者网站的指示将facebook sdk包含在我的项目中.
但问题是,facebook sdk也使用了一些SBJSON类,如SBJSONParser,SBJsonWriter等,这些类已经存在于我使用过的SBJSON框架中.这些类的名称相似,但方法和属性不同.所以我既不能删除也不能编辑其中任何一个.(我是初学者,我不知道如何编辑它们而不会丢失任何东西).
因此,由于重复的类,它显示了许多错误.
我能在这做什么?请帮我 :)
下面给出了两个JSonParser类的头文件(.h).(.m文件不能在这里给出,因为它们太长了.)
在下面给出的Facebook SDK中使用的JSonParser.h
#import <Foundation/Foundation.h>
#import "SBJsonBase.h"
@protocol SBJsonParser
- (id)objectWithString:(NSString *)repr;
@end
@interface SBJsonParser : SBJsonBase <SBJsonParser> {
@private
const char *c;
}
@end
@interface SBJsonParser (Private)
- (id)fragmentWithString:(id)repr;
@end
Run Code Online (Sandbox Code Playgroud)
在下面给出的SBJson Framework中使用的JSonParser.h
#import <Foundation/Foundation.h>
@interface SBJsonParser : NSObject {
NSString *error;
NSUInteger depth, maxDepth;
}
@property NSUInteger maxDepth;
@property(copy) NSString *error;
- (id)objectWithData:(NSData*)data;
- (id)objectWithData:(NSData*)data;
- (id)objectWithString:(NSString*)jsonText error:(NSError**)error;
@end
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
您需要决定保留哪个 SBJson 实现,然后从项目设置中手动删除另一个。
主要问题是有很多优秀的 iOS 开源代码可供使用。但这个开源的分发方法充其量是晦涩难懂的。没有比在 U 盘上复制代码更先进或更简单的了。
我写了一篇较长的博客文章,主题为“iOD 开源状态:以及如何应对”:http ://blog.jayway.com/2011/05/16/the-state-of-ios-open -来源和做什么/
我的建议是使用将 Xcode 项目作为其他 Xcode 项目的依赖项的功能。效果很好,我已经使用这个方法5年多了,效果很好。