使用CTGetSignalStrength()计算IOS信号强度

我已经开始开发iOS 8.3的非Apple商店应用程序,用于测量并返回以dB为单位的接收信号强度指示(RSSI)值。 我有权访问名为VAFieldTest的Xcode项目的git存储库,该项目使用核心电话框架来访问诸如单元ID,服务mnc,RSSI等信息。但是,项目的构build失败并返回以下内容错误:

Ld /Users/rajesh/Library/Developer/Xcode/DerivedData/VAFieldTest-dmyrokwehbyuqcauvwpiouivlnqy/Build/Products/Debug-iphonesimulator/VAFieldTest.app/VAFieldTest normal i386 cd /Users/rajesh/Documents/VAFieldTest export IPHONEOS_DEPLOYMENT_TARGET=4.0 export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk -L/Users/rajesh/Library/Developer/Xcode/DerivedData/VAFieldTest-dmyrokwehbyuqcauvwpiouivlnqy/Build/Products/Debug-iphonesimulator -F/Users/rajesh/Library/Developer/Xcode/DerivedData/VAFieldTest-dmyrokwehbyuqcauvwpiouivlnqy/Build/Products/Debug-iphonesimulator -F/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/System/Library/PrivateFrameworks -filelist /Users/rajesh/Library/Developer/Xcode/DerivedData/VAFieldTest-dmyrokwehbyuqcauvwpiouivlnqy/Build/Intermediates/VAFieldTest.build/Debug-iphonesimulator/VAFieldTest.build/Objects-normal/i386/VAFieldTest.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=4.0 -framework Foundation -framework UIKit -framework CoreGraphics -framework CoreTelephony -weak_framework VoiceServices -Xlinker -dependency_info -Xlinker /Users/rajesh/Library/Developer/Xcode/DerivedData/VAFieldTest-dmyrokwehbyuqcauvwpiouivlnqy/Build/Intermediates/VAFieldTest.build/Debug-iphonesimulator/VAFieldTest.build/Objects-normal/i386/VAFieldTest_dependency_info.dat -o /Users/rajesh/Library/Developer/Xcode/DerivedData/VAFieldTest-dmyrokwehbyuqcauvwpiouivlnqy/Build/Products/Debug-iphonesimulator/VAFieldTest.app/VAFieldTest ld: -pie can only be used when targeting iOS 4.2 or later clang: error: linker command failed with exit code 1 (use -v to see invocation) 

起初我以为这是由于新图书馆的联系,但经过检查,构build依赖已经包括在内,并没有帮助。 我想自己调用核心电话方法,但官方文档没有列出在iOS 8.3中访问这些核心function的方法。 列出的方法在开发人员文档库中可用,并且不包含所需的方法。

我如何获得iOS 8.3中的RSSI值? 即时通讯使用Xcode 6.4testing版。

这已不再可能,显然是作为修补漏洞的副作用。 在iOS 8.3上获取CellID,LAC,…

你可以使用这个获得信号强度:

 UIApplication *app = [UIApplication sharedApplication]; NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews]; NSString *dataNetworkItemView = nil; for (id subview in subviews) { if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarSignalStrengthItemView") class]]) { dataNetworkItemView = subview; break; } } int signalStrength = [[dataNetworkItemView valueForKey:@"signalStrengthRaw"] intValue]; NSLog(@"signal %d", signalStrength);