Setelah memutakhirkan ke Xcode 11.2 dari Xcode 11.1, aplikasi mogok karena _UITextLayoutView

351

Setelah memutakhirkan ke Xcode 11.2 dari Xcode 11.1 aplikasi saya mogok:

*** Mengakhiri aplikasi karena pengecualian 'NSInvalidUnarchiveOperationException' tanpa alasan, alasan: 'Tidak dapat membuat instance kelas bernama _UITextLayoutView karena tidak ada kelas bernama _UITextLayoutView yang ditemukan; kelas perlu didefinisikan dalam kode sumber atau dihubungkan dari perpustakaan (memastikan kelas adalah bagian dari target yang benar) '

Mengapa ini terjadi? Bagaimana saya bisa mencegah kecelakaan ini?

Sudhakar Tharigoppula
sumber
17
Sepertinya bug Xcode 11.2. Periksa utas forum.developer.apple.com/thread/125287 . Kemungkinan besar ini terkait dengan TextViews dalam hierarki
Pavel Stepanov
3
@DanielStorm sayangnya, itu tidak membantu. Saya baru saja menambahkan UITextView polos ke satu layar yang tidak memilikinya sebelumnya (dan tidak crash sebelumnya juga :)). Sekarang macet dengan kesalahan yang sama. Masalah ini tetap ada untuk semua perangkat / simulator kecuali untuk iOS 13.2 terbaru
Pavel Stepanov
3
Adakah yang tahu apakah ini akan membuat crash aplikasi produksi yang dibangun dengan Xcode 11.2 saat berjalan di perangkat iOS 13.1.2?
gfpacheco
2
ini adalah pertanyaan yang sangat bagus, karena itu 198 suara, jadi saya benar-benar tidak yakin mengapa seseorang menandainya sebagai "tunggu sebentar"
Mike Volmar
4
@MikeVolmar saya memilih untuk menutup dan tidak lagi relevan. Diperbaiki dengan 11.2.1. Pertanyaan ini memiliki jendela kegunaan yang sangat singkat.
rmaddy

Jawaban:

145

Selamat

Versi baru Xcode (11.2.1) tersedia sekarang yang merupakan cara terbaik untuk menghilangkan masalah ini.

Penanganan masalah

@Mojtaba Hosseini solusi yang saya usulkan adalah dari bantuan dan partisipasi dari pihak saya kepada sesama pengembang di atas StackOverflow. Anda, saya dan semua pengembang di sini sudah tahu bahwa ketika versi baru diumumkan oleh Apple, masalah ini akan hilang.

Tapi Di Samping Segalanya

Solusi yang disebutkan di atas sudah pasti diterima oleh Apple Review karena tidak ada API pribadi yang terlibat sama sekali. Pendekatan ini sangat mirip dengan pembuatan properti seperti

@interface UITextView (Layout)

Atau

UITextView + Layout.h

Jadi ketika Anda membuat properti, Anda langsung menggunakan Komponen Pribadi APPLE dan memodulasi ulang mereka sesuai kebutuhan atau kebutuhan Anda.

Contoh Sederhana adalah kelas AMFNetworking

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

Semoga saya selesai dengan Tuduhan

Jawaban di bawah ini hanya bantuan dari pihak saya untuk memungkinkan pengembang untuk terus berkembang seperti Anda awalnya kami mengusulkan pengembang untuk memutar kembali Xcode. Ini adalah praktik yang buruk untuk mengunduh 8 GB Xcode lagi karena kita semua tahu bahwa versi baru Xcode akan segera dirilis.

Sementara itu diperbaiki di Xcode 11.2.1, saya punya satu solusi untuk Xcode 11.2 dimana Anda dapat menyingkirkan crash ini:

*** Mengakhiri aplikasi karena pengecualian 'NSInvalidUnarchiveOperationException' tanpa alasan, alasan: 'Tidak dapat membuat instance kelas bernama _UITextLayoutView karena tidak ada kelas bernama _UITextLayoutView yang ditemukan; kelas perlu didefinisikan dalam kode sumber atau dihubungkan dari perpustakaan (memastikan kelas adalah bagian dari target yang benar) '

LARUTAN

Buka pencarian Pengaturan Bangun untuk "DEAD_CODE_STRIPPING" dan atur ke NO

DEAD_CODE_STRIPPING = NO

Kemudian

buat file 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

jalankan di delegasi aplikasi

#import "UITextViewWorkaround.h"

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

            [UITextViewWorkaround executeWorkaround];
    return yes;
    }

Kompilasi kode dan Anda akan memiliki aplikasi yang sedang berjalan :)

aftab muhammed khan
sumber
2
Jika ini berhasil untuk Anda silakan naik peringkat sehingga orang lain dapat mencoba solusi ini juga
aftab muhammed khan
3
@Hardy_Germany Saya menguji ini sedikit, untuk Swift Anda dapat mencoba: kelas UITextViewWorkaround: NSObject {class func executeWorkaround () {jika # tersedia (iOS 13.2, *) {} else {let className = "_UITextLayoutView" var cls = objc_getClass (className ) jika cls == nil {cls = objc_allocateClassPair (UIView.self, className, 0) objc_registerClassPair (cls as! AnyClass) #jika cetak DEBUG ("ditambahkan% @ secara dinamis \ n", className); #endif}}}}
John Nimis
2
@DaveDude DEAD_CODE_STRIPPING = TIDAK diperlukan jika Anda menggunakan Manajer Paket Swift dengan Xcode 11.2
Cœur
5
@pradipsutariya ya tentu saja kenapa tidak kita tidak pernah mengubah apa pun di APPLE CLASSES.
aftab muhammed khan
5
Hanya Xcode 11.2.1 Benih GM (beta) yang dirilis. Versi stabil dapat segera dirilis.
Lal Krishna
221

Pembaruan: Diperbaiki! 🎉🎊

Solusi HANYA untuk memperbarui

Ini bug yang diperbaiki dalam Xcode 11.2.1. Jadi Anda dapat mengunduh dan menggunakannya dari sini.

Storyboard yang mengandung UITextView tidak akan lagi menyebabkan aplikasi mogok pada versi sistem operasi lebih awal dari iOS 13.2, tvOS 13.2, atau macOS 10.15.2. (56808566, 56873523)


Xcode 11.2 sudah tidak digunakan lagi oleh Apple pada 5 November 2019

jika Anda pernah mencoba mengirimkan aplikasi yang dibuat dengan Xcode 11.2 ke AppStore, Anda akan ditolak:

Peringatan Pengoperasian App Store Connect

PERINGATAN ITMS-90703 : "Build Xcode yang sudah tidak digunakan lagi. Karena masalah arsip aplikasi yang sudah diselesaikan, kami telah membatalkan Xcode 11.2 pada tanggal 5 November 2019. Unduh Xcode 11.2.1 atau yang lebih baru, bangun kembali aplikasi Anda dan kirim kembali."

Jadi semua solusi yang dilakukan dengan Xcode 11.2 adalah berguna


Ini adalah bug untuk Xcode 11.2, dan diperbaiki di Xcode 11.2.1.

Solusi)

Kembalikan ke versi rilis Xcode sebelumnya dari: Rollback bukan lagi pilihan dan AppStore akan menolak build apa pun dengan Xcode di bawah 11.2.1 lihat ini

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

Perhatikan bahwa Anda harus menggunakan Safari untuk mengunduhnya dan Anda harus terlebih dahulu masuk ke portal pengembang Apple .

Anda dapat menemukan semua versi Xcode lainnya dan tautan sumber daya lain (termasuk versi rilis dan beta) di sini di https://developer.apple.com/download/more

Penanganannya

Ini sangat sulit tetapi solusinya berhasil. Ganti semua UITextViewdalam storyboard dan Xib dengan versi kode murni .


Perhatikan bahwa ini bug ditemukan dan tetap oleh Apple

Tetap

Juga sebelumnya, bug itu dikonfirmasi oleh Staf Apple edford

Konfirmasi


Bagi mereka yang menggunakan iOS 13.2 dan tidak dapat menggunakan Xcode 11.1 lagi:

  1. Perbarui macOS ke 10.15.1 atau lebih baru
  2. Instal Xcode 11.2.1 atau yang lebih baru
  3. Seharusnya sekarang berfungsi di perangkat yang diperbarui.

Bagi mereka yang memiliki storyboard:

  1. Subkelas UITextView
  2. Tetapkan ke semua UITextViewobjek
  3. Jangan lupa untuk memperbarui perubahan properti yang mungkin hilang dalam subklasifikasi.

Bagi mereka yang nyaman dengan metode swizzling (Objc dan perilaku dinamis)

Kepala ke @aftab muhammed khan jawaban untuk Objective-C dan @MikRo jawaban untuk Swift disesuaikan versi

Jangan lakukan itu lagi:

Bahkan jika dua solusi penyelesaian terakhir ini tidak menggunakan Apple private API , mereka akan ditolak di AppStore karena Apple tidak akan menerima build dengan versi Xcode di bawah 11.2.1 !

Dan sekali lagi:

Xcode 11.2 sudah tidak digunakan lagi oleh Apple pada 5 November 2019

Mojtaba Hosseini
sumber
3
Sedih, tetapi solusinya bekerja untuk saya. Terima kasih! 11.1 bekerja. Saya tidak akan menyarankan konversi ke kode murni, karena saya yakin ada perbaikan segera. Jika Anda tidak keberatan: Perbarui jawaban ini setelah ada versi baru yang berfungsi. Akan menjadi buruk jika orang mulai mengunduh acara 11.1 meskipun ada versi tetap di luar sana :)
Sebastian Weiß
2
Saya sudah memiliki 11.1 tetapi tidak berhasil, saya tidak meningkatkan ke 11.2.
JAHelia
6
Harap dicatat bahwa Anda mungkin harus menghapus aplikasi dari perangkat pengembangan Anda dan / atau membersihkan folder build Xcode ( CMD + Shift + K)
JeroenJK
3
Bagaimana saya bisa memutakhirkan ke v11.2.1? Itu tidak muncul di app store. Dan mengunduh benih GM dari portal pengembang mencoba mengunduh aplikasi ini sekitar 8gb!
mesqueeb
3
Juga jika sudah usang, mengapa apel tidak menghapus 11.2 di app store untuk saat ini?
Malcolm Salvador
40

Masalah ini diperbaiki pada Xcode 11.2.1.

EDIT: Saat perbaikan sekarang dirilis, Anda harus beralih ke versi Xcode dan mengomentari pemecahan masalah ini. Seperti Mojtaba Hosseini dalam jawabannya menyebutkan:

... dua solusi terakhir yang membingungkan ini menggunakan Apple private API dan akan ditolak dari ulasan Apple!

Untuk saat sampai perbaikan dirilis oleh Apple, ini merupakan solusi yang baik untuk terus mengembangkan dan menguji.


Untuk Xcode 11.2, berdasarkan ide Aftab Muhammed Khan dan dengan bantuan John Nimis saya baru saja menguji kode berikut.

Diperlukan tidak ada perubahan pada file storyboard!

Mengedit file AppDelegate.swift saya dan menambahkan kelas ini

//******************************************************************
// 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
           }
        }
    }
}

dan dalam panggilan delegasi untuk "didFinishLaunchingWithOptions" panggil solusinya

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()
}
Hardy_Germany
sumber
34

Saya telah mengadaptasi solusi Obj-C khan untuk Swift :

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!)
            }
        }
    }

}

Sebut saja di akhir didFinishLaunchingWithOptionsin AppDelegate.

Terima kasih @ftab!

MikRo
sumber
di mana kita perlu menambahkan kode ini? Dalam file delegasi?
SIDHARTH PU
@ SIDHARTHPU Anda dapat memanggilnyadidFinishLaunchingWithOptions
Lal Krishna
mencoba berbagai perbaikan pada masalah ini dan yang satu ini berhasil sampai Xcode 11.3 ?! Terima kasih!
FlimFlam Vir
1
Ini adalah solusi yang paling singkat dan cemerlang!
sVd
1
@LalKrishna Buat file baru bernama UITextViewWorkaround.swift dan tambahkan kode di atas. Kemudian tambahkan UITextViewWorkaround.executeWorkaround () ini ke didFinishLaunchingWithOptions sebelum mengembalikan pernyataan.
ashishn
22

Perbaikan yang lebih cepat:

///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)
        }
    }
}

Tambahkan kode ini di suatu tempat lalu ganti semua instance storyboard FixedTextView .

Catatan: Anda akan kehilangan atribut apa pun yang dibuat di storyboard. Ini bisa memiliki implikasi serius (mis. Pengaturan delegasi, ukuran, dll.)

garafajon
sumber
Ini tampaknya menjadi langkah yang baik menuju solusi, tetapi belum cukup solusi ...
Fattie
18

Solusi Terbaru : Pembaruan ke Xcode 11.2.1 . Ini berfungsi pada perangkat iOS 11, 12 atau 13 untuk saya.

Lihat dokumentasi apple Pembaruan ini memperbaiki masalah kritis yang dapat menyebabkan aplikasi menggunakan UITextView mogok.

Solusi Lama: Mengunduh Xcode 11.1 dari https://developer.apple.com/download/more/ Beralih kembali dari 11.2 ke 11.1 memperbaiki kerusakan.

Juga, bagi saya bahkan dengan Xcode 11.2, ketika saya memutakhirkan iPhone saya menjadi 13.2, itu memperbaiki kerusakan.

anoo_radha
sumber
2
Ini adalah perbaikan yang paling mudah - tingkatkan iPhone iOS ke 13.2
Reefwing
6
Meningkatkan iOS jelas bukan perbaikan mengingat OP berbicara di bawah perspektif pengembang.
keeshux
2
Apple mengonfirmasi bahwa bug terjadi dengan versi iOS sebelum 13.2 dan Xcode 11.2.
Chuck Krutsinger
Turunkan XCode ke Versi 11.1 (11A1027) - masih mengalami crash yang sama (
rommex
jika Anda memutakhirkan atau menurunkan versi dan masih macet membersihkan folder build Xcode (CMD + Shift + K) per komentar Wojteck di bawah ini, yang memperbaikinya bagi saya saat peningkatan
Mike Volmar
17

11.2.1 Benih GM mengatasi masalah ini

(dan dapat digunakan untuk menerbitkan ke App Store)

Buka https://developer.apple.com/download/ . Unduh Xcode 11.2.1 Benih GM

Catatan rilis mengkonfirmasi perbaikan kesalahan ini:

masukkan deskripsi gambar di sini

kerajinan
sumber
5
Harap dicatat bahwa setelah menginstal Xcode 11.2.1 Benih GM Anda mungkin harus menghapus aplikasi dari perangkat pengembangan Anda dan / atau membersihkan folder build Xcode (CMD + Shift + K).
Wojtek Dmyszewicz
13

Anda dapat mengunduh unduhan Xcode beta terakhir (11.2.1 GM) dari situs web pengembang Apple.

Di sini tautan langsung

Xcode 11.2.1 Benih GM

BossOz
sumber
Harap dicatat bahwa setelah menginstal Xcode 11.2.1 Benih GM Anda mungkin harus menghapus aplikasi dari perangkat pengembangan Anda dan / atau membersihkan folder build Xcode (CMD + Shift + K).
Wojtek Dmyszewicz
diinstal dan dijalankan tanpa prosedur lain. Masalah diperbaiki ✌️
BossOz
bagaimana cara menginstal ini? Itu memberi saya folder, tetapi tidak ada yang dapat dieksekusi
Scobee
1
cukup unduh zip dari tautan yang disediakan dan ekstrak. Kemudian salin aplikasi di folder Aplikasi.
BossOz
1
masalahnya adalah ketika saya mengekstraknya, saya mendapatkan dua file, Konten dan Metadata ... itu sebabnya saya bertanya apa yang harus dilakukan dengan mereka. Saya menggunakan utilitas arsip karena mengkliknya biasanya gagal. Saya akan coba lagi
Scobee
12

Memperbaiki jawaban @garafajon. Bagi saya itu berfungsi dalam banyak kasus.

///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)
        }
    }
}
Awsom3D
sumber
1
Bekerja dengan sempurna. Kode @ garafajon menyebabkan masalah dengan kotak di tempat yang tidak terduga. Ini memperbaiki masalah-masalah itu ~ pekerjaan hebat!
ekrenzin
8

Sebagai perbaikan "cepat" Anda dapat menambahkan UITextViewlangsung dari kode dan bukan melalui IB. Setidaknya itu berhasil untuk saya. Meskipun dari sudut pandang saya, lebih baik untuk mengembalikan ke Xcode sebelumnya / tunggu yang baru.

Pavel Stepanov
sumber
6

Ini adalah bug dengan Xcode 11.2. Tampilan Teks Subklas mogok di semua perangkat yang tidak menginstal iOS versi baru (13.2). Anda mungkin lebih baik tidak membuat rilis dengan build itu.

Sekarang kamu bisa:

  • downgrade Xcode ke 11.1 atau
  • tingkatkan perangkat Anda ke iOS 13.2
mark.so.cgn
sumber
1
Jadi apakah bug ini hanya memengaruhi tampilan teks subklas?
Darren
1
Memperbarui iOS saat memperbarui Xcode menyelesaikan masalah.
Buyin Brian
2
Pertanyaannya adalah, jika crash akan terjadi pada aplikasi yang dirilis dengan setiap iOS lebih kecil dari 13.2 ... Saya takut untuk mencoba ...
mark.so.cgn
6

Saya menggunakan solusi yang berhasil, tetapi itu menyakitkan. Ini adalah proses yang saya ikuti:

  1. Buka XIB dalam editor teks
  2. Temukan yang menyinggung TextView. Dalam hal ini:
<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. Catat itu id(dalam kasus saya:id="782-j1-88c" )
  2. Timpa kelas seperti tercantum dalam jawaban di atas dan buat kembali opsi (milikku Objective-C, maaf):
@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. Perhatikan batasan yang menyertakan id tampilan teks Anda, dan buat ulang batasan itu terhadap id elemen lain di view atau view controller Anda. Dalam hal ini:
- (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;
}

Melakukan ini memperbaiki masalah bagi saya tanpa kehilangan fungsi yang diinginkan. Untungnya saya hanya punya satu UITextViewuntuk mengganti. Kalau tidak, ini menjadi tidak bisa dipertahankan.

Eric Lange
sumber
2

Saya memiliki masalah yang sama saya hanya memutakhirkan Xcode 11.2 saya menjadi 11.2.1 itu bekerja dengan baik.

Setelah peningkatan, saya telah menguji hal yang sama pada iOs 13 dan iOS 12 dan itu berfungsi dengan baik.

Mohammad Parvez
sumber
Duplikat jawaban BossOz.
Cœur
0

1. Masalah:

Ada masalah dengan Xcode 11.2 di mana Storyboard yang mengandung UITextView akan menyebabkan aplikasi mogok pada versi OS lebih awal dari iOS 13.2 jika dikompilasi dengan Xcode 11.2.

Xcode 11.2

Periksa dokumentasi apel ini .

2. Solusi:

Satu-satunya solusi adalah memperbarui Xcode Anda ke 11.2.1 atau 11.3.

Xcode 11.2.1 dirilis khusus untuk memperbaiki masalah kerusakan ini.

masukkan deskripsi gambar di sini Periksa dokumentasi apel ini .

3. Saran:

Saya menyarankan Anda untuk menggunakan Xcode 11.3 versi terbaru karena ini mendukung pengembangan aplikasi untuk iOS 13.3 dan juga ada banyak fitur baru. Periksa dokumentasi apel ini .

Jayprakash Dubey
sumber
-1

Masalah ini diperbaiki dalam Xcode versi 11.2.1, dan dipanggil dalam catatan rilis:

Pembaruan ini memperbaiki masalah kritis yang dapat menyebabkan aplikasi menggunakan UITextView mogok

Tangkapan layar catatan rilis Xcode

pkamb
sumber