Это смешно, я пытаюсь создать звук bool для включения в звуки приложений. Я продолжаю получать
Undefined symbols for architecture i386:
"_kPlaySoundPrefsKey", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я проверил, что все мои файлы связаны на этапах сборки, я удалил appdelegate.m, где im получил ошибку, прежде чем я даже позвоню, чтобы вызвать bool в любом из моих контроллеров представления, и повторно импортировал его на этапах сборки, Проверено, что у меня есть соответствующие рамки работы. Я даже проверил предыдущее приложение, которое я сделал с тем же кодом, и код, который, похоже, точно такой же, без ошибки (построен с предыдущей версией xcode). Вернувшись к основам, я получаю сообщение об ошибке, как только добавлю следующий код в свой App Delegate,
.h
#import <UIKit/UIKit.h>
extern NSString *kPlaySoundPrefsKey;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
.m
#import "AppDelegate.h"
#import <AudioToolbox/AudioToolbox.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
NSDictionary *defaultDict = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES]
forKey:kPlaySoundPrefsKey];
return YES;
}
Если я изменяю extern NSString *kPlaySoundPrefsKey;
на NSString *kPlaySoundPrefsKey;
, он строит, затем сбой... Im из идей теперь