OS X: Bundle Location حسب المعرف للتطبيق المثبت حديثا

StackOverflow https://stackoverflow.com/questions/993244

  •  13-09-2019
  •  | 
  •  

سؤال

سؤال مماثل تحديد موقع حزم حسب المعرف, ، ولكن مشكلة مختلفة:

لدي العديد من التطبيقات التي تحتاج إلى تحديد حزم بعضها البعض حسب هويتهم. هذا يعمل دائما بشكل جيد، إلا إذا قمت بتثبيت جديد تماما لجميع تطبيقاتي. في كثير من الحالات، يكفي الإشارة إلى مكتشف موقع التثبيت لمواقع Bundle معروفة، ولكن في بعض الأحيان حتى هذا لا يكفي؛ لا بد لي من تشغيل التطبيق أولا قبل أن يتم استخدام معرف Bundle للعثور على المسار. يجب أن أذكر أنني أستخدم مثبتا ينسخ التطبيقات إلى التطبيقات / التطبيقات /، لذلك يفتح الباحث أبدا عند تثبيت التطبيقات.

يبدو أنه عند تثبيت حزمة التطبيقات حديثا، فإنه يأخذ النظام في بعض الوقت قبل تحديث بعض السجل الداخلي الذي يقوم بخرائط معرف Bundle بموقع Bundle. ما أود أن أعرفه هو:

  1. أين توجد هذه التعيينات و
  2. كيف يمكنني إجبار نظام / إدارة الملفات / مساحة العمل (؟) لتحديث الخريطة
هل كانت مفيدة؟

المحلول

يتم الحفاظ على التعيينات في قاعدة بيانات خدمات الإطلاق. أنا لا ألا يتم تخزين هذا، ولكن الموقع الدقيق غير ذي صلة، حيث توجد طرق أفضل لتحقيق هدفك.

يمكنك تحديث قاعدة بيانات خدمات التشغيل يدويا بعدد من الطرق، ولكن شخصيا، أعتقد أن القيام بذلك برمجيا سيكون أسهل، خاصة في وضعك. في هذه الحالة، يمكنك الاستفادة من API خدمات الإطلاق على وجه التحديد، أود أن أنظر إلى استخدام LSRegisterURL(), ، لأن هذا يبدو أنه يحقق ما تريد القيام به.

نلقي نظرة على وثائق خدمات الإطلاق لمزيد من المعلومات حول تسجيل التطبيقات في قاعدة البيانات وكيف يعمل كل شيء بشكل عام.

نصائح أخرى

بديل، في حال كنت بحاجة إلى واحدة، سيكون البحث باستخدام Apis الأضواء مع kMDItemCFBundleIdentifier مفتاح:

pierre$39> mdfind "kMDItemCFBundleIdentifier == 'org.videolan.vlc'"
/Applications/VLC.app
/Applications/vlc-0.8.6c/VLC.app

تم دمج الأضواء بإحكام مع النظام، مثل هذه الملفات / المجلدات يتم فهرسة بمجرد كتابةها إلى نظام الملفات، يجب ألا يكون لديك أي مشكلة في التطبيق غير مؤشر بعد. بالطبع، يجب أن تكون جاهزا للتعامل مع أكثر من استجابة واحدة ...

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