2010-03-19 3 views
1

j'ai fait un cadre de cacao personnalisé juste pour expérimenter et de trouver la meilleure façon de faire un, mais a couru pour un problème à l'utiliser. Le projet de cadre construit et compile juste bien, mais quand je l'utilise dans un projet xcode, j'obtiens l'erreur, 'LogTest' undeclared. Le nom du cadre est LogTestpersonnalisé du framework Cocoa et un problème à l'utiliser

Heres le code à mon application qui utilise le cadre:

TestAppDelegate.h:

#import <Cocoa/Cocoa.h> 
#import <LogTest/LogTest.h> 

@interface TestAppDelegate : NSObject <NSApplicationDelegate> { 

NSWindow *window; 

} 

@property (assign) IBOutlet NSWindow *window; 

@end 

TestAppDelegate.m:

#import "TestAppDelegate.h" 

@implementation TestAppDelegate 

@synthesize window; 

- (void)awakeFromNib { 
[LogTest logStart:@"testing 123":@"testing 1234"]; //This is the line where the error occurs 
} 


@end 

Code cadre ........

LogTest.h:

#import <Cocoa/Cocoa.h> 
#import "Method.h" 


@protocol LogTest //Not sure if this is needed I just wanted a blank header 


@end 

Method.h:

#import <Cocoa/Cocoa.h> 


@interface Method : NSObject { 

} 


+ (void)logStart:(NSString *)test:(NSString *)test2; 

    @end 

Method.m:

#import "Method.h" 


@implementation Method 

+ (void)logStart:(NSString *)test:(NSString *)test2 { 
NSLog(test); 
NSLog(test2); 
} 

@end 

Si quelqu'un sait pourquoi je reçois cette erreur s'il vous plaît répondre.

Merci pour toute aide

+1

Pouvez-vous inclure le contenu de Logtest.h? – EightyEight

+0

sûr que je vais le poster dans un min – nosedive25

+0

sont ceux des fautes de frappe dans votre poste où vous dites AppDelegate.h et AppDelegate.m. Le fichier d'en-tête s'appelle TestAppDelegate.h? –

Répondre

0

Vous ne pouvez pas utiliser compilé des cadres de tiers sur l'iPhone. Vous pouvez inclure les fichiers sources, puis les compiler avec votre application.

Aussi, voir les autres discussions à ce link.

+0

Im ne pas utiliser iPhone, mais merci pour la réponse – nosedive25

0

D'après ce que je vois des fichiers d'en-tête que vous venez d'envoyer. LogTest n'est pas une classe mais un protocole vide. Vous devriez appeler logStart:: sur Method pas LogTest

IOW. changez-le en

- (void)awakeFromNib { 
    [Method logStart:@"testing 123":@"testing 1234"]; 
} 
+0

Merci d'accord, je vais essayer – nosedive25

+0

Quand je fais ce que je reçois une nouvelle série d'erreurs dans les résultats de construction. – nosedive25

+0

Ces erreurs étaient probablement masquées par l'erreur précédente. La même chose auparavant était que vous appeliez des méthodes sur une classe qui n'existait pas. Si vous postez vos nouvelles erreurs, nous pouvons voir si nous pouvons vous aider. –

Questions connexes