构建失败:找不到符号

时间:2012-01-31 10:13:10

标签: iphone objective-c xcode linker

iTunes拒绝我的应用,所以我必须修改它。我正在做,现在我无法在模拟器上启动应用程序:

Ld /Users/user/Library/Developer/Xcode/DerivedData/emars-hgjxnbewvbrekiepjbfkvodcrvtk/Build/Products/Debug-iphonesimulator/emars.app/emars normal i386
    cd "/Users/user/TRAVAIL/MMW/iphone application V1.0/e-mars"
    setenv MACOSX_DEPLOYMENT_TARGET 10.6
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/user/Library/Developer/Xcode/DerivedData/emars-hgjxnbewvbrekiepjbfkvodcrvtk/Build/Products/Debug-iphonesimulator -F/Users/user/Library/Developer/Xcode/DerivedData/emars-hgjxnbewvbrekiepjbfkvodcrvtk/Build/Products/Debug-iphonesimulator -filelist /Users/user/Library/Developer/Xcode/DerivedData/emars-hgjxnbewvbrekiepjbfkvodcrvtk/Build/Intermediates/emars.build/Debug-iphonesimulator/emars.build/Objects-normal/i386/emars.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -Objc -framework Foundation -framework UIKit -framework CoreGraphics -framework QuartzCore -framework SystemConfiguration -lz.1.1.3 -o /Users/user/Library/Developer/Xcode/DerivedData/emars-hgjxnbewvbrekiepjbfkvodcrvtk/Build/Products/Debug-iphonesimulator/emars.app/emars

这是结束:

Undefined symbols for architecture i386:
  "_OBJC_IVAR_$_UIViewController._title", referenced from:
      -[FirstViewController viewDidLoad] in FirstViewController.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

也许它需要一个我不包含的库(我已经停止了很多关于库的处理)......

编辑:错误来自我改变的新代码,因为如果商店拒绝该应用

这是我的代码(运行但被ItunesConnect拒绝)

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Login et mot de passe" message:@"" delegate:self cancelButtonTitle:@"Annuler"  otherButtonTitles:@"Sauvegarder", nil];
        [alertView addTextFieldWithValue:@"" label:@"Login"];
        [alertView addTextFieldWithValue:@"" label:@"Mot de passe"];
        // Username
        textfieldName = [alertView textFieldAtIndex:0];
        textfieldName.keyboardType = UIKeyboardTypeAlphabet;
        textfieldName.keyboardAppearance = UIKeyboardAppearanceAlert;
        textfieldName.autocorrectionType = UITextAutocorrectionTypeNo;
        // Password
        textfieldPassword = [alertView textFieldAtIndex:1];
        textfieldPassword.clearButtonMode = UITextFieldViewModeWhileEditing;
        textfieldPassword.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
        textfieldPassword.keyboardAppearance = UIKeyboardAppearanceAlert;
        textfieldPassword.autocorrectionType = UITextAutocorrectionTypeNo;
        textfieldPassword.secureTextEntry = YES;
        [alertView show];

这是获取此错误的代码:

// Ask for Username and password.
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:_title message:@"\n \n \n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];

        // Adds a username Field
        textfieldName = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)]; 
        textfieldName.placeholder = @"Login";
        [textfieldName setBackgroundColor:[UIColor whiteColor]];
        textfieldName.enablesReturnKeyAutomatically = YES;
        [textfieldName setReturnKeyType:UIReturnKeyDone];
        [textfieldName setDelegate:self];
        [alertView addSubview:textfieldName];


        Show alert on screen.
        [alertView show];
        [alertView release];

谢谢你的帮助!

1 个答案:

答案 0 :(得分:5)

_title不是有效的ivar。它在UIViewController中定义,这就是为什么你没有得到未定义的错误,但它被声明为@package,这意味着它是内部的。简而言之,请勿使用_title

相关问题