У меня есть следующий код:
@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
Что я делаю не так? В чем разница между связыванием с платформами Simulator (а именно UIKit) и связыванием с инфраструктурой устройства?