Я работаю над реактивным проектом, для которого требуются некоторые собственные модули. Одним из них является модуль Bluetooth, который позволяет мне получить доступ к некоторым методам CSRGaia. В конечном счете, я хочу быть в состоянии прочитать значения эквалайзера на клавише PS, чтобы я мог установить свой эквалайзер на соответствующие значения. Я почти ничего не знаю о Objective-C
В настоящее время существует метод, который выглядит следующим образом:
RCT_EXPORT_METHOD(setEQValues:(NSArray *)values callback:(RCTResponseSenderBlock)callback)
{
CSRPeripheral *connectedPeripheral = [CSRConnectionManager sharedInstance].connectedPeripheral;
if( connectedPeripheral == nil )
{
callback(@[DISCONNECTED]);
return;
}
[[CSRGaia sharedInstance] setEQValues:values];
}
Это работает без проблем. Тем не менее, когда я пытался написать свой собственный
RCT_EXPORT_METHOD(getUserEQ: (NSArray *)values callback:(RCTResponseSenderBlock)callback)
{
CSRPeripheral *connectedPeripheral = [CSRConnectionManager sharedInstance].connectedPeripheral;
if( connectedPeripheral == nil)
{
callback(@[DISCONNECTED]);
return;
}
[[CSRGaia sharedInstance] getUserEQ: values];
}
Я получаю следующую ошибку:
Нет видимого @interface для 'CSRGaia', объявляет селектор 'getUserEQ:'
Я дважды проверил файл CSRGaia.m, чтобы убедиться, что оба метода существуют.
- (void)setEQValues:(NSArray *)values {
NSMutableData *payload = [[NSMutableData alloc] init];
for( NSNumber *value in values ) {
uint8_t hex = [value unsignedCharValue];
[payload appendBytes:&hex length:1];
}
[self sendCommand:GaiaCommand_SET_HEP_EQ_PSKEY
vendor:CSR_GAIA_VENDOR_ID
data:payload];
}
- (void)getUserEQ {
[self sendCommand:GaiaCommand_GetUserEQControl
vendor:CSR_GAIA_VENDOR_ID
data:nil];
}