2012-05-07 5 views
-1

Я просто перевел все свое приложение на другой язык, добавив локализацию в некоторые из файлов nib и .m и после того, как я закончил, и попытался запустить app Я получаю следующую ошибку.После локализации я получаю clang: ошибка: команда компоновщика не сработала с кодом выхода 1

Ld "/Users/tenghamn/Library/Developer/Xcode/DerivedData/scheduleTable-djaxkjmejcrgsybqqoinnhkerlut/Build/Products/Debug-iphonesimulator/MDH Schedule.app/MDH Schedule" normal i386 cd

"/Users/tenghamn/Dropbox/xcode Projects/scheduleTable" setenv MACOSX_DEPLOYMENT_TARGET 10.6 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk

-L/Users/tenghamn/Library/Developer/Xcode/DerivedData/scheduleTable-djaxkjmejcrgsybqqoinnhkerlut/Build/Products/Debug-iphonesimulator

-F/Users/tenghamn/Library/Developer/Xcode/DerivedData/scheduleTable-djaxkjmejcrgsybqqoinnhkerlut/Build/Products/Debug-iphonesimulator

-filelist "/Users/tenghamn/Library/Developer/Xcode/DerivedData/scheduleTable-djaxkjmejcrgsybqqoinnhkerlut/Build/Intermediates/scheduleTable.build/Debug-iphonesimulator/scheduleTable.build/Objects-normal/i386/MDH

Schedule.LinkFileList" -mmacosx-version-min=10.6 -Xlinker

-objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100 -framework SystemConfiguration -framework QuartzCore -framework CoreData -framework UIKit -framework Foundation -framework CoreGraphics -o

"/Users/tenghamn/Library/Developer/Xcode/DerivedData/scheduleTable-djaxkjmejcrgsybqqoinnhkerlut/Build/Products/Debug-iphonesimulator/MDH Schedule.app/MDH Schedule"

ld: duplicate symbol _OBJC_CLASS_$_MainViewController in /Users/tenghamn/Library/Developer/Xcode/DerivedData/scheduleTable-djaxkjmejcrgsybqqoinnhkerlut/Build/Intermediates/scheduleTable.build/Debug-iphonesimulator/scheduleTable.build/Objects-normal/i386/MainViewController-96B8D44EBB24B056.o

and

/Users/tenghamn/Library/Developer/Xcode/DerivedData/scheduleTable-djaxkjmejcrgsybqqoinnhkerlut/Build/Intermediates/scheduleTable.build/Debug-iphonesimulator/scheduleTable.build/Objects-normal/i386/MainViewController-4CC6B4B54C957278.o

for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я искал решения этой ошибки, но ничто, кажется, не разрешает мою проблему или не имеет прямого отношения. Любые идеи о том, что я могу сделать, чтобы решить эту проблему?

+0

Похоже, у вас есть дублирующий MainViewController. , , Как вы сделали свою локализацию? Это путем добавления файлов локализации? Что вы пробовали до сих пор? – ggrana

+0

Я проверил для дубликатов и не вижу. Я попытался сделать чистое, а затем снова здание, но ошибка сохраняется. Чтобы добавить локализацию, я нажал на MainViewController.m, а в инспекторе файлов в разделе «Локализация» я нажал знак «плюс», первый раз, когда он дал мне английский язык, а затем во второй раз я создал шведский. Затем я отобрал недавно созданный MainViewController.m (шведский) и внеся необходимые изменения. Я проверил папку проекта, и в файле en.lproj есть один MainViewController.m и один MainViewController.m в sv.lproj. Я сделал то же самое для других файлов .m и файлов nib. –

+0

Если я удалю файл MainViewController.m (шведский), он работает, есть ли способ, которым я могу заставить шведскую версию использовать другое имя –

ответ

0

Я сделал перевод непосредственно в файлах. Вам нужно использовать NSLocalizedstring и файл строк для выполнения этой работы, иначе xcode попытается использовать два файла .m с тем же именем.

Смежные вопросы