gpt4 book ai didi

objective-c - 'AudioServicesPlaySystemSoundWithVibration'函数的隐式声明在C99错误中无效

转载 作者:太空狗 更新时间:2023-10-30 04:03:03 30 4
gpt4 key购买 nike

所以,我主要用 swift 编写,但似乎调用此“AudioServicesPlaySystemSoundWithVibration”的唯一方法是在 Objective-c 中......一开始,我编写的代码确实有效,我不确定发生了什么变化但是它现在给我错误“函数‘AudioServicesPlaySystemSoundWithVibration’的隐式声明在 C99 中无效”,而不仅仅是警告。相同的警告和错误标题,但现在这是一个我无法编译的错误。是的,我知道我使用的是私有(private) API,但我不打算出售该应用程序,所以我不在乎苹果的想法。我只需要自定义振动。这两个函数 vibrateMutate 和 vibrateSection 都在单独的 swift 文件中调用,我将“import vibrate.h”放在我制作 objective-c 文件时被迫创建的桥接 header 中。这是我的代码:)

//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

最佳答案

如果你知道调用是对的,只是想让编译器满意,你可以在你的代码中给出一个明确的定义。我不知道私有(private)函数的正确定义是什么,但如果您不关心精确性,以下内容应该有效。

void AudioServicesPlaySystemSoundWithVibration(int, id, id);

@implementation Vibrate
// ...

关于objective-c - 'AudioServicesPlaySystemSoundWithVibration'函数的隐式声明在C99错误中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397532/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com