【发布时间】:2015-07-05 19:26:39
【问题描述】:
在我的项目中更新crashlytics框架后出现问题,当然是通过fabric app,准确地说是链接器错误,请在下面记录。
Ld /Users/losiennik/Library/Developer/Xcode/DerivedData/InternalApp-cujowfodrnucvoglpkjjfmshsvrs/Build/Products/Debug-iphonesimulator/InternalApp.app/InternalApp normal x86_64
cd /Users/losiennik/temp/InternalApp-ios-fork_DONOTREMOVE
export IPHONEOS_DEPLOYMENT_TARGET=7.0
export 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 x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.3.sdk -L/Users/losiennik/Library/Developer/Xcode/DerivedData/InternalApp-cujowfodrnucvoglpkjjfmshsvrs/Build/Products/Debug-iphonesimulator -F/Users/losiennik/Library/Developer/Xcode/DerivedData/InternalApp-cujowfodrnucvoglpkjjfmshsvrs/Build/Products/Debug-iphonesimulator -F/Users/losiennik/temp/InternalApp-ios-fork_DONOTREMOVE -filelist /Users/losiennik/Library/Developer/Xcode/DerivedData/InternalApp-cujowfodrnucvoglpkjjfmshsvrs/Build/Intermediates/InternalApp.build/Debug-iphonesimulator/InternalApp.build/Objects-normal/x86_64/InternalApp.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-AFNetworking -lPods-ActivateYourSalon -lPods-CocoaLumberjack -lPods-Foursquare-API-v2 -lPods-GZIP -lPods-MBProgressHUD -lPods-MLPAutoCompleteTextField -lPods-MTDates -lPods-UICKeyChainStore -lPods-UIResponder+KeyboardCache -lPods-WYPopoverController -lPods-zipzap -lc++ -lz -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -framework UIKit -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -stdlib=libc++ -mios-simulator-version-min=7.0 -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/losiennik/Library/Developer/Xcode/DerivedData/InternalApp-cujowfodrnucvoglpkjjfmshsvrs/Build/Intermediates/InternalApp.build/Debug-iphonesimulator/InternalApp.build/InternalApp.app.xcent -framework EventKit -framework MessageUI -framework Crashlytics -framework QuartzCore -framework MapKit -framework CoreLocation -framework CoreGraphics -framework UIKit -framework Foundation -lPods -framework Fabric -Xlinker -dependency_info -Xlinker /Users/losiennik/Library/Developer/Xcode/DerivedData/InternalApp-cujowfodrnucvoglpkjjfmshsvrs/Build/Intermediates/InternalApp.build/Debug-iphonesimulator/InternalApp.build/Objects-normal/x86_64/InternalApp_dependency_info.dat -o /Users/losiennik/Library/Developer/Xcode/DerivedData/InternalApp-cujowfodrnucvoglpkjjfmshsvrs/Build/Products/Debug-iphonesimulator/InternalApp.app/InternalApp
Undefined symbols for architecture x86_64:
"_CLSLog", referenced from:
-[IAPSyncManager processSuccessfulHTTPRequest] in IAPSyncManager.o
-[IAPLogService writeContentsOfURL:toStream:] in IAPLogService.o
-[IAPServerObjectMapping serializedPrimaryKeyToJSONStringFrom:forObject:] in IAPServerObjectMapping.o
"_CLSNSLog", referenced from:
___65-[IAPWeekDashboardViewController asyncInternalAppFetchSuccess:failure:]_block_invoke in IAPWeekDashboardViewController.o
-[IAPSyncManager prepareForSynchronizationInForeground:] in IAPSyncManager.o
___50-[IAPSyncManager reenableIdleTimerAfterTwoMinutes]_block_invoke in IAPSyncManager.o
-[IAPSyncManager reenableIdleTimer] in IAPSyncManager.o
-[IAPJSONValidator validateJSONWithError:] in IAPJSONValidator.o
-[IAPSynchronisationRelationship stringWithID:] in IAPSynchronisationRelationship.o
_POSTDataDictionary in IAPSyncConstants.o
...
"_OBJC_CLASS_$_Crashlytics", referenced from:
objc-class-ref in IAPSyncManager.o
objc-class-ref in Crashlytics+Utilities.o
l_OBJC_$_CATEGORY_Crashlytics_$_Utilities in Crashlytics+Utilities.o
objc-class-ref in IAPAppDelegate.o
(maybe you meant: _OBJC_CLASS_$_CrashlyticsPlaceholderStatic)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我尝试了很多方式来解决这个问题,但我做不到。我尝试过的方法:
-
Xcode Clean对项目采取行动 - 删除
/Users/losiennik/Library/Developer/Xcode/DerivedData的内容 - 从
Link Binary from Libraries中删除并再次添加Crashlytics.framework和Fabric.framework中的Xcode 6.3.1目标Build Phases - 从项目中物理删除这些框架文件,然后从我从头开始安装框架的另一个项目中再次添加它们
- 正在删除
/var/folders内容
我已经对可能的解决方案进行了所有可能的组合,并尝试运行并杀死 xcode,也重新启动操作系统。没有任何效果。
您还有其他想法吗?也许有人知道Xcode 在哪里存储可以在编译和链接进程时使用的临时文件?有人在更新该框架时有类似的经历吗?
【问题讨论】:
标签: xcode compilation linker crashlytics