我有以下代码:
@interface UIAcceleration (Simulation)
- (id) initWithTimestamp:(NSTimeInterval)aTimeStamp
X:(UIAccelerationValue)ax
Y:(UIAccelerationValue)ay
Z:(UIAccelerationValue)az;
@end
@implementation UIAcceleration (Simulation)
-(id)initWithTimestamp:(NSTimeInterval)aTimeStamp
X:(UIAccelerationValue)ax
Y:(UIAccelerationValue)ay
Z:(UIAccelerationValue)az
{
if (self = [super init])
{
timestamp = aTimeStamp;
x = ax;
y = ay;
z = az;
}
return self;
}
@end
为模拟器 SDK 编译时,一切正常。为设备 SDK 编译时,出现以下链接器错误:
"_OBJC_IVAR_$_UIAcceleration.x", referenced from:
_OBJC_IVAR_$_UIAcceleration.x$non_lazy_ptr in UIAcceleration+IRowAdditions.o
"_OBJC_IVAR_$_UIAcceleration.y", referenced from:
_OBJC_IVAR_$_UIAcceleration.y$non_lazy_ptr in UIAcceleration+IRowAdditions.o
"_OBJC_IVAR_$_UIAcceleration.z", referenced from:
_OBJC_IVAR_$_UIAcceleration.z$non_lazy_ptr in UIAcceleration+IRowAdditions.o
"_OBJC_IVAR_$_UIAcceleration.timestamp", referenced from:
_OBJC_IVAR_$_UIAcceleration.timestamp$non_lazy_ptr in AccelerometerSimulation.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
我究竟做错了什么?链接到模拟器框架(即 UIKit)和链接到设备框架有什么不同?