J'utilise xcode4, sur un projet openglES j'ai ajouté du code pour l'achat in-app à partir du tutoriel: http://www.raywenderlich.com/2797/introduction-to-in-app-purchases
j'ai ajouté SystemConfiguration.framework mais ces erreurs se produisent:
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
si je supprime la référence du cadre, l'erreur est la même. en ajoutant encore rien ne se passe ... dans -Xlinker 2 -framework Foundation -framework UIKit [...] devrais-je voir "-framework SystemConfiguration" non? pourquoi n'y est-il pas? Quelqu'un a-t-il des idées?
tirant le cadre du projet-> phases de construction-> lien binaire avec la bibliothèque ce qui en fait le premier cadre j'ai cet 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
La configuration du système est là, l'erreur toujours là ... qu'est-ce que cela peut être? Merci
je l'ai trouvé! j'ai copié le SystemConfiguration.framework dans mon dossier de projet (en cochant la case lorsque j'ai ajouté à partir de xcode). la suppression de ce dossier dans mon projet se compile maintenant bien
Après avoir ajouté SystemConfiguration.framework
des phases de construction mon projet se compile bien ...
amusez vous...!
J'ai aussi eu le même problème. J'ai ajouté certains cadres directement en les faisant glisser et en les déposant.
Pour le résoudre, je les ai tous supprimés et les ai ajoutés via le menu Target> Build Phases puis j'ai ajouté tous les frameworks nécessaires via Link Binary With Libraries.
Après cela, votre code devrait à nouveau fonctionner correctement.
c'est simple.
scnetworkreachability
le rappel est étiqueté comme un symbole non défini, ce qui implique qu'une bibliothèque ou un fichier d'infrastructure est manquant
le préfixe sc signifie configuration système
cliquez sur le nom du projet choisissez Résumé sur le côté droit
cliquez liens binaires et frameworks
cliquez sur plus dessus, vous pouvez voir une exploration vers le bas avec des collections de frameworks et bibliothèques voir s'il y a quelque chose appelé systemConfigurationframework
sélectionnez cela et appuyez sur ok
Maintenant build et run le problème est résolu
Comme mentionné ci-dessus, après avoir importé les 3 frameworks suivants, cela fonctionne!
CFNetwork.framework
Security.framework
SystemConfiguration.framework
Merci beaucoup!
Quand j'utilisais AFNetworking, après avoir obtenu ces erreurs, j'ai importé 3 frameworks
CFNetwork.framework
Security.framework
SystemConfiguration.framework
Toutes les erreurs auront disparu .. profitez-en !!!
J'ai eu le même problème après une mise à jour du repo.
La solution qui a fonctionné pour moi a été de supprimer les références du projet pour toutes les classes et de les ajouter à nouveau. Le problème est qu'il existe une grande possibilité de perturber la synchronisation du dépôt.
Je tiens à souligner que j'ai également eu un problème similaire à cela.
J'ai copié certains fichiers sur xcode et j'ai accidentellement sélectionné "ProjectTests" au lieu du projet. Supprimez simplement les fichiers et ajoutez-les à votre projet en vous assurant que le projet principal (pas les tests unitaires) est sélectionné