Создание драйвера устройства с приложением Xcode Cocoa - PullRequest
0 голосов
/ 14 октября 2011
    Hi Friends..
    I am try  to create a Device driver Application In X-Code, From This Link:- http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptIOKit/iokit_tutorial.html I Got little bit Idea. Based on that I completed 

1)Create a New Project
    2)Edit the Information Property List
    3)Fill in the Header File
    4)Implement the Driver’s Entry Points.

    The Fifth Step is:  **Add Library Declarations**
    That mention like this .
    At this stage of creating your driver, you need to find out what those libraries are. The best way to do so is to run the kextlibs tool on your built kext and copy its output into your kext’s Info.plist file.

    But I a can't understand this lines,more over I can't fount $MyDriver/Build/Debug Folder. I opened Info.Plist file On Terminal I got Kext File . now I trying this in X-Code 4.

Если у кого есть идеи по этому поводу, пожалуйста, дайте несколько советов .. Спасибо за ваш повтор

1 Ответ

0 голосов
/ 29 октября 2011

Обратите внимание, что запуск kextlibs будет работать только после того, как вы реализовали код для своего драйвера и он успешно собирается.Как только вы доберетесь до этого, в XCode:

  • создайте свой kext
  • в дереве файлов проекта, найдите его в разделе 'products'
  • , откройтев окне терминала введите kextlibs, а затем пробел.
  • перетащите kext из XCode и поместите его в окно терминала.
  • нажмите Enter, и через несколько секунд вы получите некоторый вывод, такой какследующее:
For all architectures:
        com.apple.iokit.IOStorageFamily = 1.6.3
        com.apple.kpi.bsd = 10.8
        com.apple.kpi.iokit = 10.8
        com.apple.kpi.libkern = 10.8
        com.apple.kpi.mach = 10.8

Затем вы добавляете эти библиотечные идентификаторы и версии в Info.plist и перестраиваете.Обратите внимание, что если вы хотите, чтобы kext работал на более старых версиях Mac OS X, чем на вашей работающей системе, вам необходимо предоставить более старые версии библиотек.(в идеале, запустив kextlibs в вашей самой старой поддерживаемой версии)

...