Итак, я в основном пишу в swift, но кажется, что единственный способ назвать это «AudioServicesPlaySystemSoundWithVibration» - в Objective-c ... В начале код Я написал, сделал работу, я не уверен, что изменилось, но это дает мне ошибку «Неявное объявление функции» AudioServicesPlaySystemSoundWithVibration «теперь недействительно в C99» вместо простого предупреждения. То же предупреждение и заголовок ошибки, но теперь, когда это ошибка, я не могу скомпилировать. Да, я знаю, что я использую частный API, но я не планирую продавать приложение, поэтому мне все равно, что думает яблоко. Мне просто нужно, чтобы пользователь вибрировал. Две функции vibrateMutate и vibrateSection вызываются в отдельных быстрых файлах, и я помещаю «import vibrate.h» в заголовок Bridging Header, который я создавал, когда создавал свои объектные файлы c. Вот мой код :)Неявная декларация функции «AudioServicesPlaySystemSoundWithVibration» неверна в ошибке C99
//vibrate.h FILE NAME
#ifndef vibrate_h
#define vibrate_h
@interface Vibrate : NSObject
+ (void)vibrateMutate;
+ (void)vibrateSectionChange;
@end
#endif /* vibrate_h */
// vibrate.m FILE NAME
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioServices.h>
#import <AudioToolbox/AudioToolbox.h>
#import "vibrate.h"
@implementation Vibrate
+ (void) vibrateMutate
{
NSMutableDictionary* dict = [NSMutableDictionary dictionary];
NSMutableArray* arr = [NSMutableArray array ];
[arr addObject:[NSNumber numberWithBool:YES]];
[arr addObject:[NSNumber numberWithInt:50]];
[arr addObject:[NSNumber numberWithBool:NO]];
[arr addObject:[NSNumber numberWithInt:10]];
[dict setObject:arr forKey:@"VibePattern"];
[dict setObject:[NSNumber numberWithDouble:.25] forKey:@"Intensity"];
AudioServicesPlaySystemSoundWithVibration(4095,nil,dict); //ERROR
}
+ (void) vibrateSectionChange
{
NSMutableDictionary* dict = [NSMutableDictionary dictionary];
NSMutableArray* arr = [NSMutableArray array ];
[arr addObject:[NSNumber numberWithBool:YES]];
[arr addObject:[NSNumber numberWithInt:150]];
[arr addObject:[NSNumber numberWithBool:NO]];
[arr addObject:[NSNumber numberWithInt:10]];
[dict setObject:arr forKey:@"VibePattern"];
[dict setObject:[NSNumber numberWithDouble:.75] forKey:@"Intensity"];
AudioServicesPlaySystemSoundWithVibration(4095,nil,dict);
}
@end
Спасибо за ввод, да, мы знаем, что мы не сможем представить в App Store, но это был личный проект, поэтому мы не слишком беспокоились об этом. :) –
Не беспокойтесь, я знаю, что вы упомянули в своем вопросе, но всегда есть отвлеченные люди, которые не знают последствий, и, возможно, это может сэкономить некоторое время ;-) – GoRoS