এক্সকোড ১১.১ থেকে এক্সকোড ১১.২ এ আপগ্রেড করার পরে, অ্যাপ্লিকেশন _ ইউআইটিএক্সলাইট লেআউটভিউয়ের কারণে ক্রাশ হয়ে গেছে


351

এক্সকোড 11.1 থেকে এক্সকোড 11.2 এ আপগ্রেড করার পরে আমার অ্যাপ ক্র্যাশ হয়েছে:

*** অপ্রত্যাশিত ব্যতিক্রম 'এনএসআইএনডাওলিউডআর্কিটিভঅপ্রেশন এক্সপেশন' এর কারণে অ্যাপ্লিকেশনটি সমাপ্ত করা হচ্ছে, কারণ: '_UITextLayoutView নামে কোনও শ্রেণি ইনস্ট্যান্ট করা যায়নি কারণ _UITextLayoutView নামে কোনও শ্রেণি খুঁজে পাওয়া যায় নি; ক্লাসটি উত্স কোডে সংজ্ঞায়িত করা উচিত বা একটি লাইব্রেরি থেকে সংযুক্ত করা দরকার (ক্লাসটি সঠিক টার্গেটের অংশ কিনা তা নিশ্চিত করুন) '

ইহা কি জন্য ঘটিতেছে? আমি কীভাবে এই ক্রাশটি আটকাতে পারি?


17
এক্সকোড 11.2 বাগের মতো মনে হচ্ছে। থ্রেড forums.developer.apple.com/thread/125287 দেখুন । সম্ভবত এটি শ্রেণিবিন্যাসের টেক্সটভিউগুলির সাথে সম্পর্কিত
পাভেল স্টেপানভ

3
দুর্ভাগ্যক্রমে, ড্যানিয়েলস্টোরম এটি সাহায্য করেনি। আমি কেবল একটি স্ক্রিনে একটি সরল ইউআইটিেক্সটভিউ যুক্ত করেছি যা এর আগে এটি ছিল না (এবং এর আগেও এটি ক্রাশ হয়নি :))। এখন এটি একই ত্রুটির সাথে ক্র্যাশ হয়ে গেছে। ইস্যুটি সর্বশেষ ডিভাইস / সিমুলেটরগুলির জন্য সর্বশেষতম আইওএস 13.2 ব্যতীত রয়ে গেছে
পাভেল স্টেপানোভ

3
আইওএস 13.1.2 ডিভাইসগুলিতে চলার সময় এটি Xcode 11.2 দিয়ে নির্মিত প্রযোজনা অ্যাপগুলিকে ক্রাশ করবে কিনা কেউ কি জানেন?
gfpacheco

2
এটি একটি পুরোপুরি ভাল প্রশ্ন, সুতরাং ১৯৮ টি ভোট, সুতরাং কেন কেউ এটিকে "অস্পষ্ট রাখা" বলে চিহ্নিত করেছেন তা নিশ্চিতভাবে আমি নিশ্চিত নই
মাইক ভলমার

4
@ মাইকভোলমার আমি ভোট দেওয়ার পক্ষে এবং এখন আর প্রাসঙ্গিক নয়। এটি 11.2.1 দিয়ে স্থির হয়েছে। এই প্রশ্নের দরকারীতার খুব ছোট উইন্ডো ছিল।
rmaddy

উত্তর:


145

অভিনঁদন

এক্সকোডের নতুন সংস্করণ (১১.২.১) এখন উপলভ্য যা এই সমস্যা থেকে মুক্তি পাওয়ার সেরা উপায়।

সমাধান নীচে উপস্থিত

@ মজতাবা হোসেইনি আমার প্রস্তাবিত সমাধান হ'ল আমার পক্ষ থেকে স্ট্যাক ওভারফ্লোতে আমার সহযোগী বিকাশকারীদের অংশগ্রহণ থেকে। আপনি, আমি এবং এখানকার বাকী সমস্ত বিকাশকারী ইতিমধ্যে জানেন যে অ্যাপল যখন নতুন সংস্করণ ঘোষণা করবে তখন এই সমস্যাটি চলে যাবে।

তবে পাশে সব কিছু

উপরে উল্লিখিত সমাধানটি অবশ্যই কোনও অ্যাপল রিভিউ না থাকায় অ্যাপল পর্যালোচনা গ্রহণ করেছে by এই পদ্ধতির তৈরি সম্পত্তি হিসাবে খুব অনুরূপ

@ ইন্টারফেস ইউআইটিেক্সটভিউ (লেআউট)

অথবা

UITextView + + Layout.h

সুতরাং আপনি যখন সম্পত্তি তৈরি করছেন আপনি সরাসরি অ্যাপল বেসরকারী উপাদানগুলি ব্যবহার করছেন এবং আপনার নির্ভরতা বা প্রয়োজনীয়তা অনুসারে এগুলি পুনরায় মডিউল করছেন।

সরল উদাহরণ হ'ল এএমএফ নেটওয়ার্কিং ক্লাস

- (void)setImageWithURL:(NSURL *)url {
    [self setImageWithURL:url placeholderImage:nil];
}

আশা করি অভিযোগের সাথে আমার কাজ শেষ হয়েছে

বিকাশকারীদের বিকাশ অব্যাহত রাখতে সক্ষম হবার জন্য নীচের উত্তরটি আমার পক্ষ থেকে কিছুটা সহায়তা ছিল কারণ আপনি প্রাথমিকভাবে এক্সকোডকে পিছনে রোল করার জন্য বিকাশকারীকে প্রস্তাব করেছিলেন। 8 জিবি এক্সকোডটি আবার ডাউনলোড করা এটি একটি খারাপ অভ্যাস ছিল যেহেতু আমরা সবাই জানি যে এক্সকোডের নতুন সংস্করণটি শীঘ্রই প্রকাশিত হবে।

এটি Xcode 11.2.1 এ স্থির করা অবস্থায়, আমি Xcode 11.2 এর জন্য একটি সমাধান পেয়েছি যার মাধ্যমে আপনি এই ক্রাশটি থেকে মুক্তি পেতে পারেন:

*** অপ্রত্যাশিত ব্যতিক্রম 'এনএসআইএনডাওলিউডআর্কিটিভঅপ্রেশন এক্সপেশন' এর কারণে অ্যাপ্লিকেশনটি সমাপ্ত করা হচ্ছে, কারণ: '_UITextLayoutView নামে কোনও শ্রেণি ইনস্ট্যান্ট করা যায়নি কারণ _UITextLayoutView নামে কোনও শ্রেণি খুঁজে পাওয়া যায় নি; ক্লাসটি উত্স কোডে সংজ্ঞায়িত করা উচিত বা একটি লাইব্রেরি থেকে সংযুক্ত করা দরকার (ক্লাসটি সঠিক টার্গেটের অংশ কিনা তা নিশ্চিত করুন) '

সমাধান

"DEAD_CODE_STRIPPING" এর জন্য বিল্ড সেটিংস অনুসন্ধানে যান এবং এটিকে সেট করে না

DEAD_CODE_STRIPPING = NO

তারপর

UITextViewWorkaround ফাইল তৈরি করুন

UITextViewWorkaround.h

    #import <Foundation/Foundation.h>


    @interface UITextViewWorkaround : NSObject
    + (void)executeWorkaround; 
@end

UITextViewWorkaround.m

#import "UITextViewWorkaround.h"
#import  <objc/runtime.h>



    @implementation UITextViewWorkaround

    + (void)executeWorkaround {
        if (@available(iOS 13.2, *)) {
        }
        else {
            const char *className = "_UITextLayoutView";
            Class cls = objc_getClass(className);
            if (cls == nil) {
                cls = objc_allocateClassPair([UIView class], className, 0);
                objc_registerClassPair(cls);
    #if DEBUG
                printf("added %s dynamically\n", className);
    #endif
            }
        }
    }

    @end

এটি অ্যাপ্লিকেশন প্রতিনিধিতে কার্যকর করুন

#import "UITextViewWorkaround.h"

        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
            // Override point for customization after application launch.

            [UITextViewWorkaround executeWorkaround];
    return yes;
    }

কোডটি সংকলন করুন এবং আপনার একটি চলমান অ্যাপ্লিকেশনটি থাকবে :)


2
এটি যদি আপনার পক্ষে কাজ করে থাকে তবে দয়া করে
অন্যরাও

3
@ হার্দি_গ্রামী আমি এটিকে সামান্য পরীক্ষা করেছি, সুইফ্টের জন্য আপনি চেষ্টা করতে পারেন: ক্লাস ইউআইটিএক্সটেক্স ভিউ ওয়ার্করাউন্ড: এনএসবজেক্ট fun ক্লাস ফানক এক্সিকিউট ওয়ার্কারআউন্ড () {যদি # উপলভ্য (আইওএস 13.2, *) {{অন্যথায় {ক্লাসের নেম = "_UITextLayoutView" var ক্লাস = ক্লাসক্লাম_সামগ্রী_ক্লমে ) যদি cls == nil; cls = objc_alloconClassPair (UIView.self, ClassName, 0) objc_registerClassPair (cls as! AnyClass) #if DEBUG মুদ্রণ ("যোগ করা% @ গতিশীল \ n", শ্রেণীর নাম); #endif}}}}
জন নিমিস

2
যদি আপনি Xcode 11.2 সঙ্গে সুইফট প্যাকেজ ম্যানেজার ব্যবহার @DaveDude DEAD_CODE_STRIPPING থে প্রয়োজন হয়
Coeur

5
@ প্রদিপসুতারিয়া হ্যাঁ অফ-কোর্স কেন আমরা কখনও অ্যাপল ক্লাসে কিছু পরিবর্তন করি না।
আফতাব মুহাম্মাদ খান

5
কেবলমাত্র Xcode 11.2.1 GM বীজ (বিটা) প্রকাশ করা হয়েছে। স্থিতিশীল সংস্করণ শীঘ্রই মুক্তি পেতে পারে।
লাল কৃষ্ণ

221

আপডেট: স্থির! 🎉🎊

কেবলমাত্র সমাধানটি আপডেট করা

এই বাগ হয় সংশোধন করা হয়েছে Xcode 11.2.1 হবে। সুতরাং আপনি এখান থেকে এটি ডাউনলোড এবং ব্যবহার করতে পারেন

ইউআইটিেক্সটভিউ সমেত স্টোরিবোর্ডগুলি আর অ্যাপ্লিকেশনটি iOS 13.2, টিভিএস 13.2, বা ম্যাকোস 10.15.2 এর চেয়ে অপারেটিং সিস্টেমের সংস্করণগুলিতে আর ক্রাশ করবে না। (56808566, 56873523)


এক্সকোড 11.2 অ্যাপল 5 নভেম্বর, 2019 এ অবচয় করা হয়েছে

আপনি যদি কখনও অ্যাপস্টোরে এক্সকোড 11.2 দিয়ে তৈরি করা আপনার অ্যাপ্লিকেশনটি জমা দেওয়ার চেষ্টা করেন তবে আপনাকে প্রত্যাখ্যান করা হবে:

অ্যাপ স্টোর সংযোগ অপারেশন সতর্কতা

সতর্কতা আইটিএমএস-90703 : " এক্সকোড বিল্ড অবহেলিত resolved

সুতরাং এক্সকোড 11.2 এর সাথে সম্পন্ন সমস্ত কাজের অযোগ্য


এটি এক্সকোড 11.2 এর জন্য একটি বাগ এবং এক্সকোড 11.2.1 এ স্থির হয়েছে।

সমাধান (গুলি)

পূর্ববর্তী Xcode রিলিজ সংস্করণ থেকে ফিরে রোল : রোলব্যাক আর কোনও বিকল্প নয় এবং অ্যাপস্টোর 11.2.1 এর নীচে Xcode সহ যে কোনও বিল্ডকে প্রত্যাখ্যান করবে এটি একবার দেখুন

https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_11.1/Xcode_11.1.xip

নোট করুন যে এটি ডাউনলোড করার জন্য আপনার সাফারি ব্যবহার করা উচিত এবং আপনাকে প্রথমে অ্যাপল বিকাশকারী পোর্টালে লগইন করতে হবে ।

আপনি এখানে অন্য সমস্ত কোডকোড সংস্করণ এবং অন্যান্য সংস্থান লিঙ্ক (রিলিজ এবং বিটা সংস্করণ সহ) পেতে পারেন https://developer.apple.com/download/more এ

কর্মক্ষেত্রের

এটি খুব পরিশ্রমী কিন্তু কার্যক্ষম কাজ নয়। সব প্রতিস্থাপন UITextViewমধ্যে গুলি স্টোরিবোর্ড s এবং Xib সঙ্গে গুলি বিশুদ্ধ কোড সংস্করণ।


নোট করুন যে এই বাগটি অ্যাপল দ্বারা সন্ধান করা এবং ঠিক করা হয়েছে

ফিক্সড

এছাড়াও এর আগে, বাগটি অ্যাপল স্টাফ এডফোর্ড দ্বারা নিশ্চিত করা হয়েছিল

অনুমোদন


আইওএসের সাথে ১৩.২ রয়েছে এবং তারা আর Xcode 11.1 ব্যবহার করতে পারবেন না:

  1. 10.15.1 বা তার পরে ম্যাকোস আপডেট করুন
  2. এক্সকোড 11.2.1 বা তার পরে ইনস্টল করুন
  3. আপডেট হওয়া ডিভাইসে এটি এখন কাজ করা উচিত।

স্টোরিবোর্ডযুক্তদের জন্য:

  1. উপশ্রেণী UITextView
  2. এটি সমস্ত UITextViewবস্তুতে বরাদ্দ করুন
  3. সাবক্লাসিংয়ে হারাতে পারে এমন কোনও সম্পত্তি পরিবর্তন আপডেট করতে ভুলবেন না।

পদ্ধতি সুইজলিংয়ের সাথে স্বাচ্ছন্দ্যযুক্তদের জন্য (অবজেক এবং গতিশীল আচরণ)

হেড @aftab মুহাম্মদ খান উদ্দেশ্য সি জন্য উত্তর এবং @MikRo সুইফট জন্য উত্তর অভিযোজিত সংস্করণ

শুধু এটি আর করবেন না:

এমনকি যদি এই দুই swizzling সমাধান নীচে উপস্থিত ব্যবহার করছেন না অ্যাপল ব্যক্তিগত এপিআই , তারা বাতিল করা হবে AppStore কারণ অ্যাপল গ্রহণ করবে না 11.2.1 অধীনে Xcode সংস্করণের সাথে তৈরী করে !

এবং আবার একবার:

এক্সকোড 11.2 অ্যাপল 5 নভেম্বর, 2019 এ অবচয় করা হয়েছে


3
দু: খিত, তবে সমাধানটি আমার পক্ষে কাজ করছে। ধন্যবাদ! 11.1 কাজ করে। আমি খাঁটি কোডে রূপান্তর করার পরামর্শ দেব না, কারণ আমি বাজি দিয়েছি যে খুব শীঘ্রই একটি ঠিকঠাক বেরিয়ে আসছে। যদি আপনি কিছু মনে করেন না: একবার নতুন সংস্করণ কাজ করে তবে এই উত্তরটি আপডেট করুন। লোকেরা যদি 11.1 ইভেন্টটি ডাউনলোড শুরু করে তবে সেখানে একটি স্থির সংস্করণ থাকলেও খারাপ হতে পারে :)
সেবাস্তিয়ান ওয়েই

2
আমার ইতিমধ্যে ১১.১ আছে কিন্তু কাজ হয়নি, আমি ১১.২ এ আপগ্রেড করিনি।
জাহেলিয়া

6
দয়া করে নোট করুন যে আপনার সম্ভবত সম্ভবত আপনার CMD + Shift + K
বিকাশকারী

3
আমি কীভাবে v11.2.1 এ আপগ্রেড করতে পারি? এটি অ্যাপ স্টোরটিতে প্রদর্শিত হচ্ছে না। এবং বিকাশকারী পোর্টাল থেকে জিএম বীজ ডাউনলোড করে প্রায় 8 জিবি অ্যাপ্লিকেশনটি ডাউনলোড করার চেষ্টা করে!
মেসকেব

3
এছাড়াও যদি এটি অবহেলা করা হয় তবে আপেল কেন এখনকার জন্য অ্যাপ স্টোরের 11.2 সরান না?
ম্যালকম সালভাদোর

40

সমস্যাটি Xcode 11.2.1 এ স্থির করা হয়েছিল।

সম্পাদনা: ফিক্সটি এখন প্রকাশিত হওয়ার সাথে সাথে আপনাকে সেই এক্সকোড সংস্করণে স্যুইচ করা উচিত এবং এই কার্যটি সম্পর্কে মন্তব্য করা উচিত । যেমন মোজতাবা হোসেইনি তার উত্তরে উল্লেখ করেছেন:

... এই শেষ দুটি সুইজলিং ওয়ার্কআরউন্ডস অ্যাপল প্রাইভেট এপিআই ব্যবহার করছে এবং অ্যাপল পর্যালোচনা থেকে প্রত্যাখাত হবে!

আপেল কর্তৃক এই ফিক্স প্রকাশ না হওয়া পর্যন্ত সময়ের জন্য, এটি বিকাশ এবং পরীক্ষা চালিয়ে যাওয়ার পক্ষে এক ভাল কাজ ছিল।


আফতাব মুহম্মদ খানের ধারণার ভিত্তিতে এবং জন নিমিসের সহায়তায় এক্সকোড ১১.২-এর জন্য আমি নিম্নলিখিত কোডটি পরীক্ষা করেছি tested

স্টোরিবোর্ড ফাইলগুলিতে কোনও পরিবর্তন দরকার নেই!

আমার AppDelegate.swift ফাইলটি সম্পাদনা করে এই শ্রেণিটি যুক্ত করা হয়েছে

//******************************************************************
// MARK: - Workaround for the Xcode 11.2 bug
//******************************************************************
class UITextViewWorkaround: NSObject {

    // --------------------------------------------------------------------
    // MARK: Singleton
    // --------------------------------------------------------------------
    // make it a singleton
    static let unique = UITextViewWorkaround()

    // --------------------------------------------------------------------
    // MARK: executeWorkaround()
    // --------------------------------------------------------------------
    func executeWorkaround() {

        if #available(iOS 13.2, *) {

            NSLog("UITextViewWorkaround.unique.executeWorkaround(): we are on iOS 13.2+ no need for a workaround")

        } else {

            // name of the missing class stub
            let className = "_UITextLayoutView"

            // try to get the class
            var cls = objc_getClass(className)

            // check if class is available
            if cls == nil {

                // it's not available, so create a replacement and register it
                cls = objc_allocateClassPair(UIView.self, className, 0)
                objc_registerClassPair(cls as! AnyClass)

                #if DEBUG
                NSLog("UITextViewWorkaround.unique.executeWorkaround(): added \(className) dynamically")
               #endif
           }
        }
    }
}

এবং প্রতিনিধিদের মধ্যে "didFinishLaunchingWithOptions" কল করার জন্য কার্যক্রমকে কল করুন

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    // Override point for customization after application launch.

    // This is the workaround for Xcode 11.2
    UITextViewWorkaround.unique.executeWorkaround()
}

34

আমি খানের OBJ-সি সমাধান অভিযোজিত থাকেন সুইফট :

import UIKit

@objc
class UITextViewWorkaround : NSObject {

    static func executeWorkaround() {
        if #available(iOS 13.2, *) {
        } else {
            let className = "_UITextLayoutView"
            let theClass = objc_getClass(className)
            if theClass == nil {
                let classPair: AnyClass? = objc_allocateClassPair(UIView.self, className, 0)
                objc_registerClassPair(classPair!)
            }
        }
    }

}

didFinishLaunchingWithOptionsইন এর শেষে কল করুন AppDelegate

ধন্যবাদ @ আফতাব!


আমাদের এই কোডটি কোথায় যুক্ত করতে হবে? প্রতিনিধি ফাইলগুলিতে?
সিদ্ধার্থ পিইউ

@ সিদ্ধার্থপু আপনি এটিকে কল করতে পারেনdidFinishLaunchingWithOptions
লাল কৃষ্ণ

এই ইস্যুতে বিভিন্ন ধরণের সমাধানের চেষ্টা করা হয়েছে এবং এটি এক্সকোড ১১.৩ পর্যন্ত কৌশলটি করেছে ?! ধন্যবাদ!
ফ্লিমফল্লাম ভাইর

1
এটি সবচেয়ে সংক্ষিপ্ত এবং উজ্জ্বল সমাধান!
sVd

1
@ লালকৃষ্ণ ইউআইটিেক্সটভিউ ওয়ার্করাউন্ড নামের একটি নতুন ফাইল তৈরি করুন এবং এতে উপরে কোড যুক্ত করুন। তারপরে রিটার্ন স্টেটমেন্টের আগে ইউআইটিএক্সটেক্স ভিউ ওয়ার্কারাউন্ড.এক্সিকিউট ওয়ার্কারাউন্ড () এটি ফিনিশল্যাঞ্চিং উইথঅপশনগুলিতে যুক্ত করুন।
আশিশন

22

দ্রুত সমাধান:

///Substitute class for _UITextLayoutView bug
class FixedTextView: UITextView {
    required init?(coder: NSCoder) {
        if #available(iOS 13.2, *) {
            super.init(coder: coder)
        }
        else {
            let rect = CGRect(origin: .zero, size: CGSize(width: 100, height: 44*3))
            super.init(frame: rect, textContainer: nil)
        }
    }
}

এই কোডটি কোথাও যুক্ত করুন এবং তারপরে সমস্ত স্টোরিবোর্ডের দৃষ্টান্তগুলিতে প্রতিস্থাপন করুন FixedTextView

দ্রষ্টব্য: আপনি স্টোরিবোর্ডগুলিতে তৈরি কোনও বৈশিষ্ট্য হারাবেন। এতে মারাত্মক প্রভাব থাকতে পারে (যেমন ডেলিগেট সেটিং, আকার ইত্যাদি)


এটি একটি কর্মপরিক্রমা দিকে ভাল পদক্ষেপ বলে মনে হচ্ছে, কিন্তু এখনও বেশ সমাধান না ...
ফ্যাটি

18

আপডেট সমাধান: এক্সকোডে আপডেট 11.2.1 । এটি আমার জন্য আইওএস 11, 12 বা 13 টি ডিভাইসে কাজ করে।

পড়ুন অ্যাপলের ডকুমেন্টেশন এই আপডেটের সংশোধন করা হয়েছে একটি জটিল সমস্যা যে UITextView ব্যবহার অ্যাপস বিপর্যস্ত কারণ হতে পারে।

পুরানো সমাধান: ডাউনলোড করা Xcode 11.1 থেকে https://developer.apple.com/download/more/ 11.2 থেকে 11.1 এ ফিরে যাওয়া ক্র্যাশ স্থির করে।

এছাড়াও, আমার কাছে এমনকি এক্সকোড ১১.২ এর সাথেও, যখন আমি আমার আইফোনটিকে ১৩.২-তে উন্নীত করেছি, যা ক্রাশটি স্থির করেছে।


2
এটিই সবচেয়ে সহজ ফিক্স - আইফোন
আইওএসকে

6
আইওপি বিকাশকারী দৃষ্টিভঙ্গির অধীনে কথা বলার সাথে সাথে আইওএস আপগ্রেড করা স্পষ্টতই কোনও ঠিক নয়।
কেশাক্স

2
অ্যাপল নিশ্চিত করেছে যে ১৩.২ এবং এক্সকোড ১১.২ এর আগে আইওএস সংস্করণগুলির সাথে বাগটি ঘটে।
চক ক্রুটসিংগার 21

এক্সকোডকে সংস্করণ 11.1 (11A1027) এ ডাউনগ্রেড করেছেন - এখনও একই ক্র্যাশ রয়েছে (
রোমেক্স

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

17

১১.২.১ জিএম বীজ এই সমস্যাটি সমাধান করে

(এবং এটি অ্যাপ স্টোরে প্রকাশ করতে ব্যবহার করা যেতে পারে)

Https://developer.apple.com/download/ এ যান । এক্সকোড 11.2.1 জিএম বীজ ডাউনলোড করুন

প্রকাশের নোটগুলি নিশ্চিত করে যে এটি এই ত্রুটিটিকে সংশোধন করে:

এখানে চিত্র বর্ণনা লিখুন


5
দয়া করে নোট করুন যে Xcode 11.2.1 GM বীজ ইনস্টল করার পরে আপনার বিকাশ ডিভাইস এবং / অথবা এক্সকোডের বিল্ড ফোল্ডার (সিএমডি + শিফট + কে) পরিষ্কার করা উচিত।
ওয়াজটেক ডমিসজেউইচজ

13

আপনি অ্যাপল বিকাশকারী ওয়েবসাইট থেকে সর্বশেষ Xcode বিটা প্রকাশ (11.2.1 GM) ডাউনলোড করতে যেতে পারেন।

এখানে সরাসরি লিঙ্ক

এক্সকোড 11.2.1 জিএম বীজ


দয়া করে নোট করুন যে Xcode 11.2.1 GM বীজ ইনস্টল করার পরে আপনার বিকাশ ডিভাইস এবং / অথবা এক্সকোডের বিল্ড ফোল্ডার (সিএমডি + শিফট + কে) পরিষ্কার করা উচিত।
ওয়াজটেক ডমিসজেউইচজ

ইনস্টল এবং অন্য কোন পদ্ধতি ছাড়াই চালানো। সমস্যা স্থির ✌️
BossOz

আমি কীভাবে এটি ইনস্টল করব? এটি আমাকে একটি ফোল্ডার দিয়েছে তবে কোনও
কার্যকরযোগ্য

1
প্রদত্ত লিঙ্কটি থেকে জিপটি ডাউনলোড করুন এবং এটি নিষ্কাশন করুন। তারপরে অ্যাপ্লিকেশন ফোল্ডারে অ্যাপটি অনুলিপি করুন।
বসস

1
সমস্যাটি হ'ল আমি যখন এটি বের করি তখন আমি দুটি ফাইল পাই, সামগ্রী এবং মেটাডেটা ... তবে কেন আমি তাদের সাথে কী করব জিজ্ঞাসা করি। আমি একটি সংরক্ষণাগার ইউটিলিটি ব্যবহার করেছি কারণ এটিতে ক্লিক করা সাধারণত ব্যর্থ হয়েছিল। আমি আবার চেষ্টা করব
Scobee

12

@Garafajon উত্তরে উন্নতি করা। আমার জন্য এটি বেশিরভাগ ক্ষেত্রে কাজ করে।

///Substitute class for _UITextLayoutView bug
class FixedTextView: UITextView {
    required init?(coder: NSCoder) {
        if #available(iOS 13.2, *) {
            super.init(coder: coder)
        }
        else {
            super.init(frame: .zero, textContainer: nil)
            self.autoresizingMask = [.flexibleWidth, .flexibleHeight]
            self.contentMode = .scaleToFill

            self.isScrollEnabled = false   // causes expanding height

            // Auto Layout
            self.translatesAutoresizingMaskIntoConstraints = false
            self.font = UIFont(name: "HelveticaNeue", size: 18)
        }
    }
}

1
পুরোপুরি কাজ করে। @ গ্যারাফাজনের কোড অপ্রত্যাশিত জায়গাগুলিতে বাক্স নিয়ে সমস্যা সৃষ্টি করেছে। এটি এই সমস্যাগুলি স্থির করে - দুর্দান্ত কাজ!
এক্রেনজিন

8

"দ্রুত" স্থির হিসাবে আপনি UITextViewআইবিয়ের মাধ্যমে নয় কোড থেকে সরাসরি যুক্ত করতে পারেন । অন্তত এটা আমার জন্য কাজ। যদিও আমার দৃষ্টিকোণ থেকে পূর্বের এক্সকোডে রোলব্যাক করা / নতুনটির জন্য অপেক্ষা করা ভাল।


6

এটি এক্সকোড 11.2 সহ একটি বাগ। সাবক্ল্যাসড টেক্সটভিউগুলি সমস্ত ডিভাইসগুলিতে ক্র্যাশ হচ্ছে যা নিউইসেট আইওএস বিল্ড (13.2) ইনস্টল না করে। আপনি সম্ভবত এই বিল্ড দিয়ে কোনও রিলিজ তৈরি না করাই ভাল।

এখন তুমি পারো:

  • এক্সকোডকে ১১.১ বা ডাউনগ্রেড করুন
  • আইওএস 13.2 এ আপনার ডিভাইস আপগ্রেড করুন

1
তাহলে কি এই বাগটি কেবল উপক্ল্যাসযুক্ত পাঠ্য দর্শনগুলিকেই প্রভাবিত করে?
ড্যারেন

1
এক্সকোড আপডেট করার সময় আইওএস আপডেট করা বিষয়টি সমাধান করে।
বায়েন ব্রায়ান

2
প্রশ্নটি হ'ল, যদি ১৩.২ এর চেয়ে কম প্রতিটি আইওএসের সাথে একটি প্রকাশিত অ্যাপে
ক্রাশটি ঘটে থাকে

6

আমি একটি সফল workaround ব্যবহার, কিন্তু এটি বেদনাদায়ক ছিল। এই প্রক্রিয়াটি আমি অনুসরণ করেছি:

  1. একটি পাঠ্য সম্পাদক এ XIB খুলুন
  2. আপত্তিজনক খুঁজুন TextView। আমার ক্ষেত্রে:
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="782-j1-88c" customClass="LCAnsiConsoleTextView">
  <rect key="frame" x="16" y="20" width="343" height="589"/>
  <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  <fontDescription key="fontDescription" name="Menlo-Regular" family="Menlo" pointSize="12"/>
  <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
</textView>
  1. এটি নোট করুন id(আমার ক্ষেত্রে:id="782-j1-88c" :)
  2. উপরের উত্তরে উল্লিখিত ক্লাসটি ওভাররাইড করুন এবং বিকল্পগুলি পুনরায় তৈরি করুন (খনিটি অবজেক্টিভ-সি, দুঃখিত)
@implementation FixedTextView

- (id) initWithCoder:(NSCoder*)coder
{
    if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){13,2,0}])
        self = [super initWithCoder:coder];
    else {
        self = [super initWithFrame:CGRectMake(16, 3, 343, 605)];
        self.editable = YES;
        self.selectable = YES;
        self.insetsLayoutMarginsFromSafeArea = YES;
        self.clipsToBounds = YES;
        self.clearsContextBeforeDrawing = YES;
        self.autoresizesSubviews = YES;
        self.contentMode = UIViewContentModeScaleToFill;
        self.scrollEnabled = YES;
        self.userInteractionEnabled = YES;
        self.multipleTouchEnabled = YES;
        self.translatesAutoresizingMaskIntoConstraints = NO;
        self.font = [UIFont fontWithName:@"Menlo-Regular" size:12.0];
    }
    return self;
}
  1. আপনার পাঠ্য ভিউ আইডি অন্তর্ভুক্ত থাকা সীমাবদ্ধতাগুলি নোট করুন এবং আপনার ভিউ বা দেখুন নিয়ামকটিতে অন্যান্য উপাদান আইডির বিপরীতে সেই প্রতিবন্ধকতাগুলি পুনরায় তৈরি করুন। আমার ক্ষেত্রে:
- (id) initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        [self xibSetup];
        [self initView];
/*
        <constraint firstItem="75C-lt-YtE" firstAttribute="top" secondItem="782-j1-88c" secondAttribute="bottom" constant="8" symbolic="YES" id="8SH-5l-FAs"/>
        <constraint firstItem="782-j1-88c" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leadingMargin" id="Mve-aZ-HCe"/>
        <constraint firstItem="782-j1-88c" firstAttribute="leading" secondItem="75C-lt-YtE" secondAttribute="leading" id="dPG-u3-cCi"/>
        <constraint firstItem="782-j1-88c" firstAttribute="trailing" secondItem="iN0-l3-epB" secondAttribute="trailingMargin" id="sjT-0Q-hNj"/>
        <constraint firstItem="782-j1-88c" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" id="vic-vZ-osR"/>
*/
        [self.command.topAnchor constraintEqualToAnchor:self.console.bottomAnchor constant:8].active = YES;
        [self.console.leadingAnchor constraintEqualToAnchor:self.layoutMarginsGuide.leadingAnchor].active = YES;
        [self.console.leadingAnchor constraintEqualToAnchor:self.command.leadingAnchor].active = YES;
        [self.console.trailingAnchor constraintEqualToAnchor:self.trailingAnchor].active = YES;
        [self.console.topAnchor constraintEqualToAnchor:self.safeAreaLayoutGuide.topAnchor].active = YES;

    }
    return self;
}

এটি করার ফলে আমার পক্ষে সমস্যাটি কাঙ্ক্ষিত কার্যকারিতা বিনষ্ট হয় না। ভাগ্যক্রমে আমার UITextViewপ্রতিস্থাপনের একটাই ছিল । অন্যথায়, এটি অযোগ্য হয়ে যায়।


2

আমার একই সমস্যা ছিল আমি আমার এক্সকোড ১১.২ থেকে ১১.২.১ এ উন্নত করেছিলাম এটি ঠিক আছে worked

আপগ্রেড করার পরে আমি আইওএস 13 এবং আইওএস 12 এ একই পরীক্ষা করেছি এবং এটি ভাল কাজ করছিল।


BossOz উত্তরের সদৃশ।
সিউর

0

1. সমস্যা:

এক্সকোড ১১.২ নিয়ে একটি সমস্যা রয়েছে যেখানে একটি ইউআইটিএক্সটভিউ সমেত স্টোরিবোর্ডগুলি এক্সকোড ১১.২ এর সাথে সংকলিত থাকলে আইওএস ১৩.২-র পূর্বের ওএস সংস্করণগুলিতে অ্যাপটিকে ক্রাশ করবে।

এক্সকোড 11.2

এই আপেল ডকুমেন্টেশন চেক করুন ।

2. সমাধান:

একমাত্র সমাধান হ'ল আপনার এক্সকোডকে 11.2.1 বা 11.3 এ আপডেট করা

এক্সকোড 11.2.1 বিশেষত এই ক্র্যাশ সমস্যাটি সমাধান করার জন্য প্রকাশিত হয়েছিল।

এখানে চিত্র বর্ণনা লিখুন এই আপেল ডকুমেন্টেশন চেক করুন

৩. পরামর্শ:

আমি আপনাকে Xcode 11.3 এর সর্বশেষ সংস্করণে যেতে পরামর্শ দিচ্ছি কারণ এটি আইওএস 13.3 এর জন্য বিকাশকারী অ্যাপ্লিকেশনগুলিকে সমর্থন করে এবং আরও অনেকগুলি নতুন বৈশিষ্ট্য রয়েছে। এই আপেল ডকুমেন্টেশন চেক করুন ।


-1

এই সমস্যাটি এক্সকোড সংস্করণ ১১.২.১ এ স্থির করা হয়েছিল এবং রিলিজ নোটগুলিতে ডেকে আনা হয়েছে:

এই আপডেটটি একটি সমালোচনামূলক সমস্যা সমাধান করে যা ইউআইটিেক্সটভিউ ব্যবহার করে অ্যাপ্লিকেশনকে ক্র্যাশ করতে পারে

এক্সকোড রিলিজ নোট স্ক্রিনশট

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