Ответ 1
нашел это! Я скопировал SystemConfiguration.framework в мою папку проекта (установив флажок, когда я добавил из xcode). удаление этой папки в моем проекте теперь хорошо компилируется
Я использую xcode4, на проекте openglES Я добавил код для покупки в приложении из учебника: http://www.raywenderlich.com/2797/introduction-to-in-app-purchases
Я добавил SystemConfiguration.framework, но это происходит:
Ld /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest normal i386
cd /Users/Eros/Desktop/blatestDB
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/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Desktop/blatestDB -filelist /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Intermediates/blatest.build/Debug-iphonesimulator/SLQTSOR.build/Objects-normal/i386/blatest.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework AVFoundation -framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework OpenAL -lz -framework MediaPlayer -framework AVFoundation -framework GameKit -framework StoreKit -o /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest
Undefined symbols for architecture i386:
"_SCNetworkReachabilitySetCallback", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
-[Reachability stopNotifier] in Reachability.o
"_SCNetworkReachabilityGetFlags", referenced from:
-[Reachability currentReachabilityStatus] in Reachability.o
-[Reachability connectionRequired] in Reachability.o
"_SCNetworkReachabilityCreateWithName", referenced from:
+[Reachability reachabilityWithHostName:] in Reachability.o
"_SCNetworkReachabilityCreateWithAddress", referenced from:
+[Reachability reachabilityWithAddress:] in Reachability.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Если я удалю ссылку на фреймворк, ошибка будет такой же. добавление снова ничего не происходит... в -Xlinker 2 -framework Foundation -framework UIKit [...] должен ли я увидеть "-framework SystemConfiguration" правильно? почему нет? у кого есть идеи?
вытащить фреймворк из фаз project- > build- > link с библиотекой, сделав ее первой структурой, у меня есть это erros:
Ld /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest normal i386
cd /Users/Eros/Desktop/blatestDB
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/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Desktop/blatestDB -filelist /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Intermediates/blatest.build/Debug-iphonesimulator/SLQTSOR.build/Objects-normal/i386/blatest.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework SystemConfiguration -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework AVFoundation -framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework OpenAL -lz -framework MediaPlayer -framework AVFoundation -framework GameKit -framework StoreKit -o /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest
ld: warning: ignoring file /Users/Eros/Desktop/blatestDB/SystemConfiguration.framework/SystemConfiguration, missing required architecture i386 in file
Undefined symbols for architecture i386:
"_SCNetworkReachabilitySetCallback", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
-[Reachability stopNotifier] in Reachability.o
"_SCNetworkReachabilityGetFlags", referenced from:
-[Reachability currentReachabilityStatus] in Reachability.o
-[Reachability connectionRequired] in Reachability.o
"_SCNetworkReachabilityCreateWithName", referenced from:
+[Reachability reachabilityWithHostName:] in Reachability.o
"_SCNetworkReachabilityCreateWithAddress", referenced from:
+[Reachability reachabilityWithAddress:] in Reachability.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
SystemConfiguration есть, ошибка все еще существует... что это может быть? спасибо
нашел это! Я скопировал SystemConfiguration.framework в мою папку проекта (установив флажок, когда я добавил из xcode). удаление этой папки в моем проекте теперь хорошо компилируется
После добавления SystemConfiguration.framework
из фаз сборки мой проект хорошо компилируется...
весело...!
У меня была та же проблема. Я добавил несколько фреймворков непосредственно с их перетаскиванием.
Чтобы решить эту проблему, я удалил все из них и добавил их через меню Целевая > Фазы сборки, а затем снова добавил все необходимые фреймворки через Link Binary With Libraries.
После этого ваш код снова будет работать нормально.
это просто.
scnetworkreachability
Обратный вызов обозначается как символ undefined, который подразумевает отсутствие библиотеки или файла фрейма
префикс sc означает конфигурацию системы
нажмите на название проекта, выберите Сводка с правой стороны
нажмите бинарные файлы и фреймворки
нажмите плюс на нем, после чего вы можете увидеть развертку с коллекциями фреймворков и libaries, чтобы увидеть, есть ли что-нибудь вызванное systemConfigurationframework
выберите это и нажмите ok
Теперь построить и запустить проблема решена
Когда я использовал AFNetworking, после получения этих ошибок были импортированы 3 фреймворка
CFNetwork.framework
Security.framework
SystemConfiguration.framework
Все ошибки исчезнут.. наслаждайтесь!!!
Как уже упоминалось выше, после импорта следующих трех фреймворков он работает!
CFNetwork.framework
Security.framework
SystemConfiguration.framework
Спасибо большое!
Я хотел бы указать, что у меня также возникла проблема, подобная этому.
Я скопировал некоторые файлы на xcode и случайно выбрал "ProjectTests" вместо проекта. Просто удалите файлы и снова добавьте их в свой проект, чтобы убедиться, что выбран основной проект (а не модульные тесты).
У меня была такая же проблема после обновления из репо.
Решение, которое работало для меня, заключалось в том, чтобы удалить ссылки из проекта для всех классов и добавить их снова. Проблема в том, что существует большая вероятность испортить синхронизацию репо.