Objective c 目标c-DRH设备
我试着检查我的“托盘”,看看它是否打开,但我无法让它工作,它说:Objective c 目标c-DRH设备,objective-c,xcode,Objective C,Xcode,我试着检查我的“托盘”,看看它是否打开,但我无法让它工作,它说: "_DRDeviceIsTrayOpenKey", referenced from: ´ -[UntitledAppDelegate applicationDidFinishLaunching:] in UntitledAppDelegate.o ld: symbol(s) not found 代码是: #import <Foundation/Foundation.h> #import <Disc
"_DRDeviceIsTrayOpenKey", referenced from:
´ -[UntitledAppDelegate applicationDidFinishLaunching:] in UntitledAppDelegate.o
ld: symbol(s) not found
代码是:
#import <Foundation/Foundation.h>
#import <DiscRecording/DRCoreDevice.h>
#import <DiscRecording/DRMSF.h>
#import <AvailabilityMacros.h>
extern NSString* const DRDeviceIsTrayOpenKey;
if (!DRDeviceIsTrayOpenKey == NO ) {
[NSApp terminate:nil];
}
#导入
#进口
#进口
#进口
外部NSString*常量DRDeviceStrayOpenKey;
如果(!DRDeviceStrayOpenKey==否){
[NSApp终止:无];
}
信息:
drDeviceStrayOpenKey
extern NSString*const DRDeviceIsTrayOpenKey代码>
讨论
status方法返回的字典中的一个键。NSNumber,包含一个布尔值,指示设备托盘是否打开
可用性
在Mac OS X v10.2中引入
请帮我解决这个问题,我想我的代码错了。是的,你的代码错了。DRDeviceIsTrayOpenKey
是用于从NSDictionary
检索值的键
因此,如果您可以获取磁盘录制状态,您可以执行以下操作:
// this code would depend on you passing in a valid DRDevice object
// which I've named myDiscRecordingDevice. A computer can have multiple
// DVD / CD readers attached, so you need to specify which one you care about
NSDictionary * status = [myDiscRecordingDevice status];
NSString* state = [status objectForKey: DRDeviceMediaStateKey];
if ([state isEqualTo: DRDeviceMediaStateNone])
{
if ([[status objectForKey: DRDeviceIsTrayOpenKey] boolValue])
return trayOpen;
return noDisc;
}
回答得好。由于OP提到了一个未解决的引用,您可能希望提醒他将“DiscRecording.framework”包含到项目中。它说:/Users/me/Desktop/Untitled/UntitledAppDelegate.m:27:0/Users/me/Desktop/Untitled/UntitledAppDelegate.m:27:error:“myDiscRecordingDevice”未声明(首次用于此函数)您需要在上面修改我的示例代码,以提供一个DRDevice
对象(如果您的计算机连接了多个DVD/CD驱动器,则可以有多个对象)。您还应该修改我的代码以返回是或否,这取决于托盘是否打开或关闭。我有一个DVD/CD驱动器,比方说它名为“Mr_right”,如何将其作为DRDevice对象传递?比如:DRDevice*mydiscrecodingdevice=@[“Mr_right”];你想做的不是小事。您不能直接创建DRDevice
。操作系统必须将其交给您(通过DRNotificationCenter
或通过iRegistry路径)。查看苹果网站顶部的“获取设备实例”部分。并寻找有用的示例代码(.Good luck!