Я делаю простую консоль, которая делает что-то, основываясь на команде второго аргумента. Ниже приведен упрощенный код. Моя консоль, однако, не печатает NSLog
, и после проверки opt
всегда -1
.
Использование myconsole firstMethod -t "this is a test string"
int main(int argc, char *argv[], char *envp[]) {
NSString *stringArgument = [NSString stringWithFormat:@"%s", argv[1]];
if([stringArgument caseInsensitiveCompare:@"firstMethod"] == NSOrderedSame) {
extern char *optarg;
extern int optind;
int opt;
while ((opt = getopt(argc, argv, "t:")) != -1) {
switch (opt){
case 't':
NSLog(@"Case t");
break;
default:
NSLog(@"Default");
}
}
}
}
Любая идея, почему это не удалось ? Заранее спасибо.