nic*_*ico 7 iphone cocoa reachability
我试图使用apple发布的reachability-project来检测自己的例子中的可达性.我复制了最多的初始化,但是我在链接器中遇到了这个失败:
Run Code Online (Sandbox Code Playgroud)Ld build/switchViews.build/Debug-iphoneos/test.build/Objects-normal/armv6/test normal armv6 cd /Users/uid04100/Documents/TEST setenv IPHONEOS_DEPLOYMENT_TARGET 3.1.3 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk -L/Users/uid04100/Documents/TEST/build/Debug-iphoneos -F/Users/uid04100/Documents/TEST/build/Debug-iphoneos -filelist /Users/uid04100/Documents/TEST/build/switchViews.build/Debug-iphoneos/test.build/Objects-normal/armv6/test.LinkFileList -dead_strip -miphoneos-version-min=3.1.3 -framework Foundation -framework UIKit -framework CoreGraphics -o /Users/uid04100/Documents/TEST/build/switchViews.build/Debug-iphoneos/test.build/Objects-normal/armv6/test未定义的符号:
"_SCNetworkReachabilitySetCallback",引自: - Reachability.o中的[ - Reachability startNotifer]
"_SCNetworkReachabilityCreateWithAddress",引自:Reachability.o中的:[Reachability reachabilityScheduseWithRunLoop]
,引用自: - [Reachability startNotifer] .o
"_SCNetworkReachabilityGetFlags",引自: - Reachability.o中的[Reachability connectionRequired] - Reachability.o中的[Reachability currentReachabilityStatus]
"_SCNetworkReachabilityUnscheduleFromRunLoop",引自: - Reachability.o中的[Reachability stopNotifer]
"_SCNetworkReachabilityCreateWithName",引用自: + Reachability.o中的[Reachability reachabilityWithHostName:]
ld:找不到符号
collect2:ld返回1退出状态
我的代表团:
#import <UIKit/UIKit.h>
@class Reachability;
@interface testAppDelegate : NSObject
<UIApplicationDelegate> { UIWindow
*window; UINavigationController *navigationController;
Reachability* hostReach;
Reachability* internetReach;
Reachability* wifiReach;
}
@property (nonatomic, retain) IBOutlet
UIWindow *window; @property
(nonatomic, retain) IBOutlet
UINavigationController
*navigationController;
@end
Run Code Online (Sandbox Code Playgroud)
我的代表.m:
#import "testAppDelegate.h"
#import "SecondViewController.h"
#import "Reachability.h"
@implementation testAppDelegate
@synthesize window; @synthesize
navigationController;
- (void) updateInterfaceWithReachability:
(Reachability*) curReach {
if(curReach == hostReach) {
BOOL connectionRequired= [curReach connectionRequired];
if(connectionRequired)
{ //in these brackets schould be some code with sense, if i´m getting it to run
}
else
{
}
} if(curReach == internetReach) { } if(curReach == wifiReach) {
} }
//Called by Reachability whenever
status changes.
- (void) reachabilityChanged: (NSNotification* )note {
Reachability* curReach = [note
object]; NSParameterAssert([curReach
isKindOfClass: [Reachability class]]);
[self
updateInterfaceWithReachability:
curReach]; }
- (void)applicationDidFinishLaunching:(UIApplication
*)application {
// Override point for customization after application launch
// Observe the
kNetworkReachabilityChangedNotification.
When that notification is posted, the
// method "reachabilityChanged" will be called. //
[[NSNotificationCenter defaultCenter]
addObserver: self selector:
@selector(reachabilityChanged:) name:
kReachabilityChangedNotification
object: nil];
//Change the host name here to change the server your monitoring
hostReach = [[Reachability
reachabilityWithHostName:
@"www.apple.com"] retain]; [hostReach
startNotifer]; [self
updateInterfaceWithReachability:
hostReach];
internetReach = [[Reachability reachabilityForInternetConnection]
retain]; [internetReach
startNotifer]; [self
updateInterfaceWithReachability:
internetReach];
wifiReach = [[Reachability reachabilityForLocalWiFi] retain];
[wifiReach startNotifer]; [self
updateInterfaceWithReachability:wifiReach];
[window addSubview:[navigationController
view]];
[window makeKeyAndVisible]; }
- (void)dealloc { [navigationController release];
[window release];
[super dealloc]; }
@end
Run Code Online (Sandbox Code Playgroud)
nic*_*ico 18
算了吧.我只是不知道我必须手动添加systemconfiguration-framework.我认为它会在导入时添加.