iphone - 架构 armv7 的 undefined symbol : "_SCNetworkReachabilityCreateWithAddress"

标签 iphone ios objective-c xcode frameworks

对,这已经成为一个正确的痛苦我已经看了 2 天了,似乎无法解决它。这是我遇到的错误。

Undefined symbols for architecture armv7:
"_SCNetworkReachabilityCreateWithAddress", referenced from:
  +[Reachability reachabilityWithAddress:] in Reachability.o
"_SCNetworkReachabilityCreateWithName", referenced from:
  +[Reachability reachabilityWithHostName:] in Reachability.o
"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
  -[Reachability stopNotifier] in Reachability.o
"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
  -[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilitySetCallback", referenced from:
  -[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityGetFlags", referenced from:
  -[Reachability connectionRequired] in Reachability.o
  -[Reachability currentReachabilityStatus] in Reachability.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经添加了 SystemConfiguration.framework 但它似乎不想对它做任何事情,因为这个错误不会消失。我已经看过很多相同的问题,但其中很多都确认了任何答案。这种情况是周末才发展起来的,当时还没有人碰过它。谁能帮忙。

编辑 忘记添加这个位。

ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks//SystemConfiguration.framework/SystemConfiguration, missing required architecture armv7 in file

编辑

对了 感谢@gaige 我发现了一个问题;在 SystemConfiguration.framework 之前有一个不应该存在的额外斜线。我删除了框架并重新添加,但没有帮助。我怎样才能删除这个多余的斜杠?

最佳答案

通常,额外的斜杠不会破坏类似 UNIX 的构建过程。

但是,您确实需要确保 armv7 架构位于您的构建尝试使用的框架文件中。为此,请在命令行中使用 lipo -info 命令:

lipo -info /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer‌​/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks//SystemConfiguration.framework/Sy‌​stemConfiguration

你应该看到这样的输出:

Architectures in the fat file: SystemConfiguration are: armv6 armv7

如果不这样做,您的项目可能设置为链接到错误版本的 SystemConfiguration.framework。您的机器上有多个版本的框架。因此,我将验证您项目中的框架路径(即 SystemConfiguration)。

通常,我希望该文件是这样的(针对您使用的操作系统版本进行了调整):

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Lib‌​rary/Frameworks/SystemConfiguration.framework

关于iphone - 架构 armv7 的 undefined symbol : "_SCNetworkReachabilityCreateWithAddress",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930156/

相关文章:

iOS 在形状中心绘制文本

ios - 其他框架有类似 NSNotificationCenter 的东西吗?

iphone - 从 iPhone 应用程序发推文

objective-c - ios8如何实现交互式通知

iphone - XCode为什么说我的iPhone应用程序只能在iPad上运行?

iphone - 如何像内置 Calc 应用程序一样进行方向旋转?

iphone - 使用 UIColor RGB black 作为 NSMutableDictionary 中的键时出现问题

android - Android 和 Iphone 之间的应用感知蓝牙 BLE 通信

iphone - 合并两个 UIImages 比 CGContextDrawImage 更快

ios - 列出项目的目录和子文件夹