سؤال

لدي رمز القائمة التي تستخدم CMNewProfileSearch إلى تكرار أكثر من ملفات تعريف الألوان على نظام الحصول على أسماء المسارات الكاملة.لسوء الحظ ، CMNewProfileSearch هو مستنكر في نظام التشغيل Mac OS X 10.5 و هو أيضا متوفر عند ترجمة تطبيق 64-بت.

في قراءة ColorSync مدير 2.5 المرجعية ، يبدو أن الطريقة الجديدة لتكرار عبر تثبيت ملفات تعريف الألوان هو استخدام CMIterateColorSyncFolder وظيفة.

  1. هل هذا صحيح ؟
  2. هل هناك الكاكاو طريقة ما أريد القيام به بدلا من ذلك ؟
  3. هل لدى أحدكم أي نموذج التعليمات البرمجية ؟

شكرا

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

المحلول

  1. نعم.كما أشرت ، ColorSync مدير المرجعية يقول ما يلي:

    على CMNewProfileSearch وظيفة لا يأخذ استفادة كاملة من تعريف الأمثل البحث المتاحة بدءا ColorSync الإصدار 2.5.استخدام CMIterateColorSyncFolder بدلا من ذلك.

  2. CMIterateColorSyncFolder هو الرسمية طريقة للقيام بذلك.بالإضافة إلى أنها أيضا الأمثل الطريقة.

  3. من أبل ImageApp نموذج التعليمات البرمجية:

تحرير:لقد تعديل نموذج التعليمات البرمجية لإزالة NewCMProfileIterateUPP و DisposeCMProfileIterateUPP.


    // Callback routine with a description of a profile that is 
    // called during an iteration through the available profiles.
    //
    static OSErr profileIterate (CMProfileIterateData *info, void *refCon)
    {
        NSMutableArray* array = (NSMutableArray*) refCon;

        Profile* prof = [Profile profileWithIterateData:info];
        if (prof)
            [array addObject:prof];

        return noErr;
    }

    // return an array of all profiles
    //
    + (NSArray*) arrayOfAllProfiles
    {
        NSMutableArray* profs=[[NSMutableArray arrayWithCapacity:0] retain];
        CMIterateColorSyncFolder(profileIterate, NULL, 0L, profs);
        return (NSArray*)profs;
    }

اتضح أن لا حاجة NewCMProfileIterateUPP و DisposeCMProfileIterateUPP إذا لم يتم استبدال مع أي شيء ، بقدر ما استطيع ان اقول.بدلا من ذلك, يمكنك تحديد وظيفة رد الاتصال مع توقيع المباريات profileIterate, أعلاه.ثم يمكنك فقط تمرير وظيفة رد الاتصال مباشرة CMIterateColorSyncFolder.

لقد اختبرت بلدي التغييرات في ImageApp على نظام التشغيل Mac OS X 10.5 أنه يعمل كما هو متوقع.

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