维护一个Xcode的老项目,一些Frameworks文件爆红,作为强迫症患者,当然直接删除,于是有了。。。
(爆红的原因大概是iOS版本升级,而链接库没有更新;和android的系统库引入逻辑不一致,android是兼容包;iOS不存在兼容,但链接库旧版本爆红-我没有发现其他影响)
1. 删除了ObjectC的支持库 libz.tbd
Undefined symbols for architecture armv7:
"_deflateReset", referenced from:
"_inflateReset2", referenced from:
"_adler32", referenced from:
"_inflateReset", referenced from:
"_inflateInit_", referenced from:
"_gzread", referenced from:
"_uncompress", referenced from:
"_gzopen", referenced from:
"_inflateEnd", referenced from:
"_deflate", referenced from:
"_inflate", referenced from:
"_get_crc_table", referenced from:
"_inflateInit2_", referenced from:
"_deflateEnd", referenced from:
"_gzclose", referenced from:
"_crc32", referenced from:
"_deflateInit2_", referenced from:
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
2.libsqlite3.tbd
Undefined symbols for architecture arm64:
"_sqlite3_column_text", referenced from:
"_sqlite3_bind_text", referenced from:
"_sqlite3_reset", referenced from:
"_sqlite3_step", referenced from:
"_sqlite3_close", referenced from:
"_sqlite3_finalize", referenced from:
"_sqlite3_open", referenced from:
"_sqlite3_prepare_v2", referenced from:
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
3.libiconv.tbd
Undefined symbols for architecture arm64:
"_iconv_open", referenced from:
"_iconv", referenced from:
"_iconv_close", referenced from:
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4.WebKit.framework
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_WKWebView", referenced from:
"_OBJC_CLASS_$_WKWebViewConfiguration", referenced from:
objc-class-ref in libWeChatSDK.a(WapAuthHandler.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
5.SystemConfiguration.framework
Undefined symbols for architecture arm64:
"_CNCopySupportedInterfaces", referenced from:
-[AMapStatistics fetchSSIDInfo] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
"_CNCopyCurrentNetworkInfo", referenced from:
-[AMapStatistics fetchSSIDInfo] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
"_SCNetworkReachabilitySetDispatchQueue", referenced from:
-[AMapFoundationReachability startNotifier] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
-[AMapFoundationReachability stopNotifier] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
"_SCNetworkReachabilitySetCallback", referenced from:
-[AMapFoundationReachability startNotifier] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
-[AMapFoundationReachability stopNotifier] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
"_SCError", referenced from:
-[AMapFoundationReachability startNotifier] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
"_SCNetworkReachabilityGetFlags", referenced from:
-[AMapFoundationReachability reachabilityFlags] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
-[AMapFoundationReachability isReachable] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
-[AMapFoundationReachability isReachableViaWWAN] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
-[AMapFoundationReachability isReachableViaWiFi] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
"_SCErrorString", referenced from:
-[AMapFoundationReachability startNotifier] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
"_SCNetworkReachabilityCreateWithAddress", referenced from:
-[AMapFoundationReachability init] in AMapFoundationKit(AMapFoundationKit-arm64-master.o)
ld: symbol(s) not found for architecture arm64
6.MediaPlayer.framework
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_MPMoviePlayerController", referenced from:
"_MPMoviePlayerPlaybackDidFinishNotification", referenced from:
"_MPMoviePlayerPlaybackStateDidChangeNotification", referenced from:
7.CoreMotion.framework
"_OBJC_CLASS_$_CMMotionManager", referenced from:
8.GameController.framework
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_GCController", referenced from:
"_GCControllerDidConnectNotification", referenced from:
"_GCControllerDidDisconnectNotification", referenced from:
ld: symbol(s) not found for architecture arm64
9.CoreTelephony.framework
"_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:
10.ExternalAccessort.framework
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_EAAccessoryManager", referenced from:
objc-class-ref in AMapLocationKit(AMapLocationKit-arm64-master.o)
ld: symbol(s) not found for architecture arm64
由于本人暂时处于摸索阶段,有些做法或描述可能有问题,欢迎大家评论指正。