আমি কীভাবে আইওএস 13 এ এই ফন্ট-সম্পর্কিত কোরটেক্সট সতর্কতার উত্স খুঁজে পেতে পারি?


17

আমার অ্যাপ্লিকেশনটির আপডেটে কাজ করা আমি লক্ষ্য করেছি যে আইওএস 13 এ এক্সকোড 11.2 এ অ্যাপটি চালানোর সময় আমি লগটিতে প্রচুর সতর্কতা পেয়েছি।

কোর টেক্সট নোট: ক্লায়েন্টের অনুরোধ করা নাম ".SFUI-Regular", এটি লক্ষ্যযুক্ত ফন্টের চেয়ে টাইমসনউরোম্যান পিএসএমটি পাবে। সমস্ত সিস্টেম ইউআই ফন্ট অ্যাক্সেস যথাযথ এপিআই এর মাধ্যমে হওয়া উচিত যেমন সিটিফন্টক্রিয়েট ইউআইফন্টফরঙ্গলেজ () বা + [ইউআইফন্ট সিস্টেমফন্টঅফফিজাইজ:]।

আমি কিছুটা খনন করে ডাব্লুডাব্লুডিসি থেকে এই উদ্ধৃতিটি পেয়েছি:

অসংখ্য ডাব্লুডাব্লুডিসি সেশনে উল্লিখিত হিসাবে, ডট-প্রিফিক্সড ফন্টের নামগুলি সরাসরি ব্যবহার করা উচিত নয়।

আমি নিজেকে প্রায় একচেটিয়াভাবে টেক্সটফিল্ড ইত্যাদির জন্য ফন্ট স্থাপন করতে আইবি এবং নিবগুলি ব্যবহার করছি এবং আমার কোডে কোথাও "এসএফইউআই-রেগুলার" এর কোনও উল্লেখ নেই, সুতরাং এই সতর্কতার প্রকৃত কারণটি কীভাবে খুঁজে পাব তা আমি নিশ্চিত নই (আমার কাছে আছে) লগগুলিতে এর 20-30 সারিগুলির মতো কিছু)।

সতর্কতাটি কোথা থেকে এসেছে তা আমি কীভাবে খুঁজে পেতে পারি এবং কীভাবে এটি সংশোধন করব সে সম্পর্কে কারও কাছে কোনও টিপস রয়েছে?

উত্তর:


6

কনসোলে আর একটি আউটপুট রয়েছে, আপনি প্রতীকী ব্রেকপয়েন্টটি যুক্ত করার চেষ্টা করতে পারেন

কোর টেক্সট নোট: ডিবাগ করতে CTFontLogSystemFontNameRequest এ একটি ব্রেকপয়েন্ট সেট করুন।


হ্যাঁ, এই প্রতীকী ব্রেকপয়েন্টটি সেট করুন। এটি ব্রেক হয়ে গেলে আপনার কল স্ট্যাকটি পরীক্ষা করে দেখুন। তারপরে আপনি দেখবেন অপরাধী কী। আমার জন্য তৃতীয় পক্ষের সফ্টওয়্যার
পিডিজি

@ পিডিজি 3 য় পক্ষের সফ্টওয়্যারটি ঠিক কী করছে?
কাউন্টিয়া

5

আমি ম্যাকওএস এবং আইওএস উভয় লক্ষ্যবস্তু দিয়ে এক্সকোড 11 দিয়ে শুরু করে কনসোলটিতে এই সতর্কতাটি अनुभव করতে শুরু করেছি।

আপনি থেকে ".SFUI-নিয়মিত" পাবেন UIFont.systemFont(ofSize: X).fontName। এরপরে সতর্কতাটি উপস্থিত হবে যদি আপনি ব্যবহার করে তাত্ক্ষণিক চেষ্টা করেন UIFont(name: fontName, size: size)

আমার ক্ষেত্রে আমি ব্যবহারকারীকে প্রদর্শন ফন্টটি কাস্টমাইজ করতে দিচ্ছি, তবে ডিফল্টটি ".SFUI-Regular" ছিল, তাই আমি এটিকে "টাইমসনউরোম্যান পিএসএমটি" তে পরিবর্তন করেছি

let defaultFont = UIFont.systemFont(ofSize: X).fontName

// replace with
let defaultFont = "TimesNewRomanPSMT"

UIFont(name: defaultFont, size: size)

2

একই কোড এবং আমার কোডে ডট-প্রিফিক্সড ফন্টের কোনও রেফারেন্স নেই। প্রতীকী ব্রেকআপপয়েন্ট সেট করুন তবে কোনও কাজে আসবে না


2
এখানে একই সমস্যা, একটি ম্যাকোস অ্যাপ্লিকেশনে। আমি এসডিকে বাগ সন্দেহ করতে শুরু করছি?
জর্জি লেয়ানড্রো পেরেজ

আমি যে পোডটি ব্যবহার করছি তার পুরানো সংস্করণে আমি ট্রেস করেছি।
টনি ল

6
রেকর্ডের জন্য, আমি একটি খালি ম্যাকোস প্রকল্পে এই সমস্যাটি পুনরুত্পাদন করেছি, কোনও বাহ্যিক নির্ভরতা নেই, এবং কোডের মাত্র 2 লাইন। টেক সাপোর্টের টিকিট জমা দেওয়া হয়েছে, মহিলা এবং ভদ্রলোক
জর্জি লায়ানড্রো পেরেজ

1
@ ক্লাস দেরী হওয়ার জন্য দুঃখিত! হ্যাঁ ... এটি টেক সাপোর্টের মাধ্যমে আমার প্রাপ্ত সরকারী প্রতিক্রিয়া:
পেরেজ

1
Regarding the error mesage shown in your video, I view it as a system bug because I don’t see any of your code requesting “.AppleColorEmojiUI” – If your real app indeed does that, you should follow the message to correct it. Other than that, I don’t have anything worth to mentioning. (এবং তারা আর কিছু যোগ করেনি .... "সিস্টেম বাগ")
জর্জি লেয়ানড্রো পেরেজ

0

আমার জন্য, এটি দেখা যাচ্ছে যে এটি একটি তৃতীয় পক্ষের গ্রন্থাগার ছিল যা কিছুক্ষণের মধ্যে আপডেট করা হয়নি যা সেই অপরাধী।

ব্যবহারকারী তালি প্রস্তাবিত হিসাবে এবং উত্সটি খুঁজে পেয়ে আমি একটি ব্রেকপয়েন্ট রেখেছি। আমার ক্ষেত্রে এটি TOMSMorphingLabel ছিল ।


0
let fontCT = CTFontCreateUIFontForLanguage(.label, fontSize as CGFloat, nil)
attrStr.addAttribute(.font, value: fontCT as Any, range: NSMakeRange(0, text.count))

আইওএস 13 এর জন্য ইউফন্ট ইস্যুটির সমাধান

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.