سؤال

أرغب في التحكم في iTunes من خلال Objective-C (لا يمكنني الحصول appscript تم تثبيته بشكل صحيح على نظام OS/X 10.6.3 ... كان هذا هو خياري الأول).

من ما أجمعه ، يعتمد IPC على الكاكاو على أحداث التفاح : هل هناك إما:

  1. الوثائق عبر الإنترنت على iTunes / Apple Events API؟
  2. آلية Instrospection للوصول إلى iTunes API؟

أعلم عن محرر Applescript / Open Dictionary ولكن لا يمكنني معرفة كيفية ذلك يترجم المعلومات التي أراها في مكالمات IPC.

ملحوظة: لقد حاولت بالفعل العمل على حل من خلال pyobjc لكن الوظيفة الرئيسية التي أنا بعدها هي تتبع البحث الذي لا يمكنني معرفة ذلك.

تنصل: OS/X Super-Newbie هنا.

هل كانت مفيدة؟

المحلول

هل فكرت في استخدام جسر البرمجة النصية؟ إنه مدمج في نظام التشغيل ويعمل أيضًا مع PyobJC. لا يوجد واجهة برمجة تطبيقات بحث مميزة لأن البحث مدمج في Applescript (الذين شروط) ، والتي خريطة إلى nspredicate في جسر البرمجة.

>>> from Foundation import *
>>> from ScriptingBridge import *
>>> itunes = SBApplication.applicationWithBundleIdentifier_(u"com.apple.itunes")
>>> tracks = itunes.sources()[0].libraryPlaylists()[0].tracks()
<SBElementArray @0x468a630: every ITunesTrack of ITunesLibraryPlaylist 0 of ITunesSource 0 of application "iTunes" (157)>
>>> predicate = NSPredicate.predicateWithFormat_(u'artist == "Pink Floyd"')
>>> tracks.filteredArrayUsingPredicate_(predicate)
<SBElementArray @0x457b6c0: ITunesTrack whose 'cmpd'{ 'relo':'=   ', 'obj1':'obj '{ 'want':'prop', 'from':'exmn'($$), 'form':'prop', 'seld':'pArt' }, 'obj2':'utxt'("Pink Floyd") } of ITunesLibraryPlaylist 0 of ITunesSource 0 of application "iTunes" (157)>

أيضًا ، إذا كنت جديدًا في Applescript ، فإنني أوصي بشدة بالسيناريو المصحح مستكشف القاموس.

نصائح أخرى

إذا كنت تواجه مشاكل مع Py-Appscript ، فيرجى الاتصال بالمؤلف (سيكون هذا أنا) لاستكشاف الأخطاء وإصلاحها. قم بتضمين معلومات حول تثبيت (أدوات) Python المستخدمة ، وإصدار Xcode ، وما إذا كانت المشكلة خاصة بالتطبيقات أو تؤثر على جميع وحدات الطرف الثالث أو وحدات الطرف الثالث مع امتدادات C. أيضًا ، إذا كنت تستخدم بناء Python.org Framework بدلاً من Python المدمج ، فتأكد من تثبيت OS X 10.4 SDK الاختياري.

تتوفر وثائق API من خلال محرر Applescript الخاص بـ OS X (ملف> Open Dictionary) أو AppScript's Asdictionary أو غيرها من الطرفات الثالثة كمحررين. إذا تم تثبيت Asdictionary ، فيمكنك أيضًا استخدام طريقة AppScript المدمجة () لتصفح القاموس بشكل تفاعلي.

ومع ذلك ، فإن مستندات واجهة برمجة تطبيقات التطبيقات القابلة للاستقرار غير كافية ، لذلك من الضروري أيضًا فهمًا جيدًا لكيفية التفاح بشكل عام والبرمجة النصية للتطبيقات بشكل خاص. أبل دليل لغة Applescript يصف الميزات المختلفة المعنية ، لكنه لا يقول الكثير عن استخدامها للاستخدام العملي ؛ هناك العديد من الكتب الجيدة المتاحة إذا كنت على استعداد لإخماد بعض النقود (إخلاء المسؤولية: لقد شاركت في كتابتها بنفسي).

ونتوقع القيام بقدر لا بأس به من الحفر من خلال المقالات عبر الإنترنت ومنتديات المناقشة والبرامج النصية الحالية للحصول على أدلة. تفاحات دوغ ل iTunes هو مصدر كبير لنصوص iTunes. بالطبع ، يتم كتابتها في Applescript ، ولكن يمكن قراءة العديد منها في محرر Applescript ، لذا تعد مصدرًا رائعًا للنصائح ، وإذا كنت تستخدم AppScript ، فيمكنك استخدام Astranslate للتحويل من Applescript إلى بناء جملة Appscript كنقطة انطلاق في كتابة بنفسك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top