Powiel możliwe:
What is the best way to solve an Objective-C namespace collision?Problem z powielonymi klasami w frameworkach JSON?
W mojej aplikacji użyłem ramy SBJSON (Stig Brautaset), aby współdziałać z moim json api i wszystko działało bardzo dobrze.
Ale teraz jestem w stanie korzystać z usługi Facebook SSO przy użyciu Facebook SDK. Więc obejmowały facebook SDK do mojego projektu zgodnie z instrukcją w Facebook developer site.
Ale problem to, że Facebook SDK też stosować niektórych klas SBJSON jak SBJsonParser, SBJsonWriter, etc, które są już obecne w SBJSON ramy, które użyłem. Klasy te są podobne pod względem nazwy, ale różnią się metodami i właściwościami. Nie mogę więc usunąć ani edytować żadnego z nich. (Jestem początkującym i nie wiem jak je edytować bez utraty czegokolwiek).
Pokazuje więc wiele błędów z powodu zduplikowanych klas.
Co mogę zrobić? Proszę mi pomóc :)
Pliki nagłówkowe (.h) obu klas JSonParser podano poniżej. (Pliki .m nie można podać tutaj, ponieważ są one zbyt długie.)
JSonParser.h, który jest używany w Facebooku SDK podane poniżej
#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
JSonParser.h, który jest używany w SBJson Framework podano poniżej
#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
Dziękuję :)
Czy kiedykolwiek naprawiłeś to? Mam teraz ten sam problem ... – Foo