سؤال

وفي بلدي التطبيق فون، وأنا ربط مع مكتبة ثابتة تحتوي على ملفات ج موضوعية والصور. هل من الممكن لتحميل صورة من مكتبة ثابتة؟ لقد حاولت

[UIImage imageNamed:[[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"png"]];

ولكن من الواضح أن الصورة ليست في حزمة الرئيسية، انها في مكتبة ثابتة والطبقة NSBundle يبدو فقط لتقديم الحصول على حزمة الرئيسية وحزم مع مسارات معروفة. هل هناك طريقة لتحميل صورة من مكتبة ثابتة على اي فون؟

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

المحلول

وليس من الواضح ما تعنيه ب "صورة هي [...] في مكتبة ثابتة". مكتبات ثابتة هي ملفات عادي (مع التمديد اللا) وتحتوي على أرشفة الملفات الكائن. حزم من ناحية أخرى هي التسلسلات الهرمية الدليل (التي تحتوي على تنفيذ والموارد الأخرى).

إذا قمت بربط مكتبة ثابتة، يتم تضمين رمز من المكتبة مباشرة في تنفيذ الخاص بك. يتم نسخ أية ملفات لحزمة التطبيق، لذلك ليس هناك طريقة لنسخ الصورة.

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

نصائح أخرى

وأبسط طريقة لتخزين الصورة في صفيف حرف المضمنة:

const char imageData[] = { 0x00, 0x01, 0xFF, ... };

وبعد ذلك عندما كنت في حاجة إليها:

UIImage *image = [UIImage imageWithData:[NSData dataWithBytesNoCopy:imageData length:sizeof(imageData) freeWhenDone:NO]];

وسيكون لديك لتحويل البيانات الثنائية صورتك (بعد حفظها إما PNG أو JPEG) إلى صفيف حرف يدويا (أو كتابة السيناريو للقيام بذلك)

هل تستخدم مسار مطلق في مكتبة ثابتة نسخ الملفات بناء المرحلة وتشير إلى تطبيق العميل؟ حاولت شيئا من هذا القبيل والصور الثابتة لا يمكن الوصول إليها.

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