ios وحدة مكتبة ثابتة، حزمة و يب ديسيبل




وحدة قياس الصوت (2)

لسوء الحظ لا يمكن استخدام IBDesignables مع مكتبات ثابتة (أو أطر ثابتة).

هذه ليست إجابة كبيرة ولكن أريد أن أعطي بعض السياق على السبب.

يبدو أن طريقة إنشاء واجهة إنشاء الطبقات لتظهر كخصائص قابلة للتصميم هي تحميل الإطار الديناميكي الذي تقوم بإنشائه (وليس ثنائي التطبيق) بشكل ديناميكي ، واستخدام الفئات مباشرة (بعد تغييرها باستخدام وقت التشغيل أوبجكتيف-C تماما قليلا).

يمكنك أن ترى أن واجهة منشئ لا تحميل التطبيق الخاص بك، وفقط الأطر الفردية مع هذه الخطوات:

  1. إنشاء مشروع هكود جديد
  2. إنشاء هدف إطار عمل جديد في المشروع
  3. إضافة فئة غير IBDesignable
  4. في القصة المصورة من التطبيق الخاص بك إنشاء وجهة نظر وتعيين فئتها إلى فئة IBDesignable الإطار الخاص بك
  5. انقر على "تحديث جميع المشاهدات" في قائمة "المحرر"
  6. في مجلد ديريفدداتا الخاص بالمشروع، في الدليل IBDesignables ، يمكنك أن ترى أن هدف الإطار الخاص بك فقط تم بناؤه.

واجهة البناء في الواقع بتحميل الإطار الخاص بك باستخدام dlopen يدويا. يمكنك أيضا أن ترى أن لتسهيل هذا عند بناء الإطار الخاص بك، واجهة منشئ يضيف في الواقع 2 RPATH s RPATH الخاص بك، وبالتالي فإن التبعيات يمكن العثور عليها في مسارات مخصصة (يمكنك عرض هذا مع otool -L frameworkbinary ). هذه الطريقة لتحميل ثنائي الخاص بك غير ممكن مع المكتبات الثابتة.

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

أنا أحاول استخدام البكالوريا الدولية تصميم و يب قابل للتفتيش في بلدي أويبوتون ولكن يبدو أن هناك بعض الأخطاء.

في المستكشف المشكلة، ملف الحزمة:

لوحة مصورة : يب ديسيغنابلز: فشل تحديث حالة تخطيط السيارات: فشل تحميل ديسينابلد من المسار (نول)

لذلك أنا أتساءل عما إذا كان هناك أي تكوينات القيام به لاستخدامه في ليب ثابت أو شيء من هذا القبيل؟

هذا هو

#import <UIKit/UIKit.h>

IB_DESIGNABLE

@interface CustomUIButton : UIButton

@property (nonatomic) IBInspectable int cornerRadius;

@end

زر بلدي مخصص أريد أن يعيش تقديم هو داخل وحدة تحكم عرض


إديت: يب ديسابلابل أند يب إنسبكتابل لا يبدو أنه يعمل مع المكتبات الثابتة، لذلك إذا كنت تستخدم مكتبة ثابتة، إما النظر في استخدام إطار ديناميكي (دائرة الرقابة الداخلية 8 فقط) أو نقل المكون الخاص بك خارج المكتبة الثابتة، إذا كان ذلك ممكنا.

بالنسبة للقضايا المتعلقة بكوكوابودس، استخدم الحل التالي:

ويرتبط هذا السؤال .

إليك الحل:

1) تثبيت كوكوابودس (0.36.0.beta.1) أو أحدث.

2) إضافة use_frameworks! إلى Podfile الخاص بك

شاهد المزيد هنا .







ibinspectable