当我使用此代码时,我收到错误"C99中隐式声明函数'sysctlbyname'无效".我之前使用它,它很好,所以我不知道发生了什么.
我目前正在开发iOS7设备,并使用应用商店中的最新版xcode 5
UIDeviceHardware.m
@interface UIDeviceHardware : NSObject
- (NSString *) platform;
- (NSString *) platformString;
@end
Run Code Online (Sandbox Code Playgroud)
UIDeviceHardware.m
- (NSString *) platform{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithUTF8String:machine];
free(machine);
return platform;
}
- (NSString *) platformString{
NSString *platform = [self platform];
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 …Run Code Online (Sandbox Code Playgroud)