2011-10-20 3 views
0

USBHID 장치 용 KEXT를 구현하려고합니다. 터미널을 점검 할 때 KEXT를로드 할 수 있습니다.
Newtok : Desktop Rasheed $ kextutil -nt SampleKextDriver.kext 커널 파일이 지정되지 않았습니다. 링크를 위해 실행중인 커널 사용. SampleKextDriver.kext가로드 가능으로 표시됩니다 (디스크 라이브러리 링크 포함).
하지만 불행히도 나는 위의 메시지를 얻었다. 내 plist 파일입니다커널 파일이 지정되지 않았습니다. KEXT MAC 환경에서 오류가 발생했습니다.

<?xml version="1.0" encoding="UTF-8"?> 
     <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
     <plist version="1.0"> 
     <dict> 
      <key>CFBundleDevelopmentRegion</key> 
      <string>English</string> 
      <key>CFBundleExecutable</key> 
      <string>SampleKextDriver</string> 
      <key>CFBundleIconFile</key> 
      <string></string> 
      <key>CFBundleIdentifier</key> 
      <string>com.apple.dts.driver.SampleKextDriver</string> 
      <key>CFBundleInfoDictionaryVersion</key> 
      <string>6.0</string> 
      <key>CFBundleName</key> 
      <string>Mustahfa</string> 
      <key>CFBundlePackageType</key> 
      <string>KEXT</string> 
      <key>CFBundleShortVersionString</key> 
      <string>1.0</string> 
      <key>CFBundleSignature</key> 
      <string>????</string> 
      <key>CFBundleVersion</key> 
      <string>1</string> 
      <key>IOKitPersonalities</key> 
      <dict> 
       <key>Device Driver</key> 
       <dict>    
        <key>bConfigurationValue</key> 
        <integer>1</integer> 
        <key>bInterfaceNumber</key> 
        <integer>0</integer> 
        <key>CFBundleIdentifier</key> 
        <string>com.apple.dts.driver.SampleKextDriver</string> 
        <key>IOMatchingCategory</key> 
        <string>com_apple_dts_driver_SampleKextDriver</string> 
        <key>IOProviderClass</key> 
        <string>IOUSBDevice</string> 
        <key>idProduct</key> 
        <integer>4389</integer> 
        <key>idVendor</key> 
        <integer>8192</integer> 
        <key>IOClass</key> 
        <string>IOService</string> 
        <key>IOProviderClass</key> 
        <string>IOUSBInterface</string> 
       </dict> 
      </dict> 
      <key>OSBundleLibraries</key> 
      <dict> 
       <key>com.apple.iokit.IOHIDFamily</key> 
       <string>1.6.4</string> 
       <key>com.apple.kpi.iokit</key> 
       <string>10.7</string> 
       <key>com.apple.kpi.libkern</key> 
       <string>10.7</string> 
      </dict> 
     </dict> 
     </plist> 

내가 잘못했는지 모르겠다. 사람이 ... 최고의 문서 또는 정보에 대한 몇 가지 아이디어

감사를 제안하십시오 할 수 있습니다 KEXT를로드 할 때

답변

0

1.U은 -n 옵션을 사용하지 않아야합니다.
kextutil의 -n 옵션은 기호 파일 만 생성하는 것으로 보입니다.
kextutil의 -t 옵션은 오류가 발생했을 때 실패한 이유를 인쇄합니다. 에 대한 내용은
자세한 내용은
kextutil, U는 터미널에 kextutil 사람을 입력해야합니다.

2. 터미널을 열고 다음 명령을 입력하여 드라이버가 의존하는 Kexts 버전을 확인하십시오. (물론, u는 당신의 드라이버가 지원해야하는 시스템의 가장 낮은 버전을 지정해야합니다.)

kextstat | 그렙 com.apple.iokit.IOHIDFamily
kextstat | 그렙 com.apple.kpi.iokit
kextstat | grep com.apple.kpi.libkern

다음 드라이버의 info.plist의 OSBundleLibraries 사전을 업데이트하십시오.

3. 희망 하시겠습니까? 좋은 하루 되세요!