Xcode 11.1 සිට Xcode 11.2 වෙත යාවත්කාලීන කිරීමෙන් පසුව, _UITextLayoutView හේතුවෙන් යෙදුම බිඳ වැටේ


351

Xcode 11.1 සිට Xcode 11.2 වෙත යාවත්කාලීන කිරීමෙන් පසු මගේ යෙදුම බිඳ වැටේ:

*** හඳුනා නොගත් ව්‍යතිරේකයක් හේතුවෙන් යෙදුම අවසන් කිරීම 'NSInvalidUnarchiveOperationException', හේතුව: '_UITextLayoutView නම් පංතිය ක්ෂණිකව ස්ථාපනය කිරීමට නොහැකි වූ නිසා _UITextLayoutView නම් පංතියක් හමු නොවීය; පන්තිය ප්‍රභව කේතයෙන් අර්ථ දැක්විය යුතුය හෝ පුස්තකාලයකින් සම්බන්ධ කළ යුතුය (පන්තිය නිවැරදි ඉලක්කයේ කොටසක් බව සහතික කරන්න) '

මෙය සිදුවන්නේ ඇයි? මෙම අනතුර වළක්වා ගන්නේ කෙසේද?


17
Xcode 11.2 දෝෂය මෙන් පෙනේ. Forums.developer.apple.com/thread/125287 නූල පරීක්ෂා කරන්න . බොහෝ දුරට එය ධූරාවලියෙහි පෙළ දර්ශන හා සම්බන්ධ වේ
පවෙල් ස්ටෙපනොව්

3
An ඩැනියෙල්ස්ටෝම් අවාසනාවකට මෙන් එය උදව් කළේ නැත. මම මීට පෙර නොතිබූ එක් තිරයකට සරල UITextView එකක් එක් කර ඇත්තෙමි (මීට පෙරද බිඳ වැටුණේ නැත :)). දැන් එය එකම දෝෂයකින් බිඳ වැටේ. නවතම iOS 13.2 හැරුණු විට සියලුම උපාංග / සිමියුලේටර් සඳහා ගැටළුව පවතී
Pavel Stepanov

3
IOS 13.1.2 උපාංග මත ධාවනය වන විට මෙය Xcode 11.2 සමඟ සාදන ලද නිෂ්පාදන යෙදුම් බිඳ වැටෙනු ඇත්දැයි කිසිවෙකු දන්නවාද?
gfpacheco

2
මෙය ඉතා හොඳ ප්‍රශ්නයක්, එබැවින් ඡන්ද 198 යි, එබැවින් යමෙකු එය "අපැහැදිලි ලෙස රඳවා තබාගෙන" ලෙස සලකුණු කළේ මන්දැයි මට විශ්වාස නැත
මයික් වොල්මාර්

4
Ike මයික්වොල්මාර් මම වසා දැමීමට ඡන්දය දුන් අතර එය තවදුරටත් අදාළ නොවේ. එය 11.2.1 සමඟ සවි කර ඇත. මෙම ප්‍රශ්නයට ඉතා කෙටි ප්‍රයෝජනවත් කවුළුවක් තිබුණි.
rmaddy

Answers:


145

සුභ පැතුම්

Xcode හි නව අනුවාදය (11.2.1) දැන් ලබා ගත හැකි අතර එය මෙම ගැටළුව මඟහරවා ගත හැකි හොඳම ක්‍රමයයි.

වර්කරවුන්ඩ්ස්

Oj මොජ්ටාබා හොසේනි මා යෝජනා කළ විසඳුම වූයේ ස්ටැක් ඕවර්ෆ්ලෝ හරහා මගේ සෙසු සංවර්ධකයින්ගේ උපකාරය සහ සහභාගීත්වයයි. ඇපල් විසින් නව අනුවාදය ප්‍රකාශයට පත් කළ විට මෙම ගැටළුව නැති වී යන බව ඔබ, මම සහ මෙහි සිටින අනෙකුත් සියලුම සංවර්ධකයින් දැනටමත් දනිමු.

නමුත් හැම දෙයක්ම හැර

පෞද්ගලික ඒපීඅයි කිසිවක් සම්බන්ධ නොවන බැවින් ඉහත සඳහන් විසඳුම ඇපල් රිවීව් විසින් අනිවාර්යයෙන්ම පිළිගනු ලැබීය. මෙම ප්රවේශය වැනි දේපල නිර්මාණය කිරීමට බෙහෙවින් සමාන ය

terinterface UITextView (පිරිසැලසුම)

හෝ

UITextView + Layout.h

එබැවින් ඔබ දේපල නිර්මාණය කරන විට ඔබ කෙලින්ම ඇපල් පුද්ගලික සංරචක භාවිතා කරන අතර ඔබ රඳා පවතින හෝ අවශ්‍යතාවය අනුව ඒවා නැවත වෙනස් කරයි.

සරල උදාහරණය AMFNetworking පන්ති ය

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

මම චෝදනාවෙන් ඉවරයි කියලා හිතනවා

පහත දැක්වෙන පිළිතුර නම්, එක්ස්කෝඩ් ආපසු හරවා යැවීමට ඔබ මුලින් යෝජනා කළ පරිදි සංවර්ධකයාට දිගටම සංවර්ධනය කිරීමට හැකිවන පරිදි මගේ පැත්තෙන් යම් උපකාරයක් පමණි. Xcode හි නව අනුවාදය ළඟදීම නිකුත් කරන බව අප කවුරුත් දන්නා බැවින් මෙය නැවත 8 GB Xcode බාගත කිරීම නරක පුරුද්දකි.

එය Xcode 11.2.1 හි සවි කර ඇති අතර, මට Xcode 11.2 සඳහා එක් විසඳුමක් ලබා දී ඇති අතර එමඟින් ඔබට මෙම බිඳවැටීමෙන් මිදිය හැකිය:

*** හඳුනා නොගත් ව්‍යතිරේකයක් හේතුවෙන් යෙදුම අවසන් කිරීම 'NSInvalidUnarchiveOperationException', හේතුව: '_UITextLayoutView නම් පංතිය ක්ෂණිකව ස්ථාපනය කිරීමට නොහැකි වූ නිසා _UITextLayoutView නම් පංතියක් හමු නොවීය; පන්තිය ප්‍රභව කේතයෙන් අර්ථ දැක්විය යුතුය හෝ පුස්තකාලයකින් සම්බන්ධ කළ යුතුය (පන්තිය නිවැරදි ඉලක්කයේ කොටසක් බව සහතික කරන්න) '

විසඳුමක්

"DEAD_CODE_STRIPPING" සඳහා ගොඩනැඟිලි සැකසුම් සෙවුමට ගොස් එය NO ලෙස සකසන්න

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
එය ඔබ වෙනුවෙන් කාරුණිකව ශ්‍රේණිගත කරන්නේ නම් අනෙක් අයටද මෙම විසඳුම අත්හදා බැලිය හැකිය
aftab muhammed khan

3
Ard හාර්ඩි_ජර්මානි මම මෙය ටිකක් අත්හදා බැලුවෙමි, ස්විෆ්ට් සඳහා ඔබට උත්සාහ කළ හැකිය: පංතිය UITextViewWorkaround: NSObject {class func executeWorkaround () {if # available (iOS 13.2, *) {} else class className = "_UITextLayoutView" var cls = objc_getClass (className) ) if cls == nil {cls = objc_allocateClassPair (UIView.self, className, 0) objc_registerClassPair (cls as! AnyClass) #if DEBUG print ("එකතු කරන ලද% @ ගතිකව \ n", පන්තියේ නම); #endif}}}}
ජෝන් නිමිස්

2
XDaveDude DEAD_CODE_STRIPPING = ඔබ Xcode 11.2 සමඟ ස්විෆ්ට් පැකේජ කළමණාකරු භාවිතා කරන්නේ නම් අවශ්‍ය නොවේ
Cœur

5
@pradipsutariya ඔව් පා off මාලාව ඇයි අපි කිසි විටෙකත් ඇපල් කාණ්ඩවල කිසිවක් වෙනස් නොකරන්නේ.
aftab muhammed khan

5
Xcode 11.2.1 GM බීජ (බීටා) පමණක් නිකුත් කෙරේ. ස්ථාවර අනුවාදය ඉක්මනින් නිකුත් වීමට ඉඩ ඇත.
ලාල් ක්‍රිෂ්ණා

221

යාවත්කාලීන කිරීම: ස්ථාවරයි! 🎉🎊

එකම විසඳුම යාවත්කාලීන කිරීමයි

මෙම දෝෂය වේ ස්ථාවර Xcode 11.2.1 දී. එබැවින් ඔබට එය මෙතැනින් බාගත කර භාවිතා කළ හැකිය.

UITextView අඩංගු කතන්දර පුවරු iOS 13.2, tvOS 13.2, හෝ macOS 10.15.2 ට වඩා කලින් මෙහෙයුම් පද්ධති අනුවාදයන් මත යෙදුම බිඳ වැටීමට හේතු නොවේ. (56808566, 56873523)


Xcode 11.2 ඇපල් විසින් 2019 නොවැම්බර් 5 වන දින ඉවත් කරනු ලැබේ

ඔබ කවදා හෝ Xcode 11.2 සමඟ ගොඩනඟන යෙදුම AppStore වෙත ඉදිරිපත් කිරීමට උත්සාහ කරන්නේ නම්, ඔබව ප්‍රතික්ෂේප කරනු ලැබේ:

යෙදුම් වෙළඳසැල සම්බන්ධ කිරීමේ මෙහෙයුම් අනතුරු ඇඟවීම

අනතුරු ඇඟවීමේ ITMS-90703 : " අවලංගු කරන ලද Xcode ගොඩනැගීම. විසඳන ලද යෙදුම් සංරක්ෂිත ගැටළු හේතුවෙන්, අපි 2019 නොවැම්බර් 5 වන දින Xcode 11.2 ඉවත් කර ඇත. Xcode 11.2.1 හෝ ඊට වඩා නව එකක් බාගත කර ඔබගේ යෙදුම නැවත ගොඩනඟා නැවත ඉදිරිපත් කරන්න."

ඒ නිසා Xcode 11.2 සමග සිදු කළ සියලු උත්සහ වේ වැඩකට නැති


එය Xcode 11.2 සඳහා වන දෝෂයක් වන අතර එය Xcode 11.2.1 හි සවි කර ඇත.

විසඳුම්)

පෙර Xcode කිරීමට රෝල් නැවත නිදහස් සිට අනුවාදය: Rollback තවදුරටත් විකල්පයක් නොවේ හා AppStore 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 වෙතින් ඔබට අනෙකුත් සියලුම Xcode අනුවාද සහ අනෙකුත් සම්පත් සබැඳිය (මුදාහැරීම් සහ බීටා අනුවාද ඇතුළුව) සොයාගත හැකිය.

වැඩමුළුව

මෙය ඉතා අසීරු නමුත් වැඩ කරන වැඩකි. සියලු වෙනුවට UITextViewදී ඇති පසුරු දක්වනය හා ගේ Xib සමග ඇති පිරිසිදු කේතය අනුවාදය.


මෙම දෝෂය ඇපල් විසින් සොයාගෙන නිවැරදි කර ඇති බව සලකන්න

ස්ථාවර

මීට පෙරද, දෝෂය ඇපල් ස්ටාෆ් එඩ්ෆර්ඩ් විසින් තහවුරු කරන ලදී

තහවුරු කිරීම


IOS 13.2 ඇති අයට සහ තවදුරටත් Xcode 11.1 භාවිතා කළ නොහැක:

  1. මැකෝස් 10.15.1 හෝ ඊට පසුව යාවත්කාලීන කරන්න
  2. Xcode 11.2.1 හෝ ඊට පසු ස්ථාපනය කරන්න
  3. එය දැන් යාවත්කාලීන කරන ලද උපාංගයේ වැඩ කළ යුතුය.

කතන්දර පුවරුව ඇති අය සඳහා:

  1. උප පංතිය UITextView
  2. එය සියලු UITextViewවස්තූන් වෙත පවරන්න
  3. උප පංතියේ නැතිවිය හැකි දේපල වෙනස්වීම් යාවත්කාලීන කිරීමට අමතක නොකරන්න.

ක්‍රමවේදය ස්විස්ලිං (Objc සහ ගතික හැසිරීම) සමඟ සැපපහසු අය සඳහා

වෙත හිස @aftab Muhammed ඛාන් අරමුණ-C භාෂාව සඳහා පිළිතුරු සහ @MikRo ස්විෆ්ට් සඳහා පිළිතුරු අනුවාදය අනුගත

තවදුරටත් එය නොකරන්න:

මෙම අන්තිම වේගවත් ක්‍රියාමාර්ග දෙක ඇපල් පුද්ගලික ඒපීඅයි භාවිතා නොකලත්, ඇප්ස්ටෝර් හි ඒවා ප්‍රතික්ෂේප වනු ඇත, මන්ද 11.2.1 යටතේ එක්ස් කේත අනුවාද සමඟ ගොඩ නැගීම ඇපල් විසින් භාර නොගන්නා බැවිනි !

නැවත වරක්:

Xcode 11.2 ඇපල් විසින් 2019 නොවැම්බර් 5 වන දින ඉවත් කරනු ලැබේ


3
කනගාටුයි, නමුත් විසඳුම මා වෙනුවෙන් වැඩ කරයි. ස්තූතියි! 11.1 වැඩ. පිරිසිදු කේතයක් බවට පරිවර්තනය කිරීමට මම යෝජනා නොකරමි, මන්දයත් ඉක්මනින් විසඳුමක් ලැබෙනු ඇතැයි මම සිතමි. ඔබට ප්‍රශ්නයක් නැත්නම්: නව අනුවාදයක් ක්‍රියාත්මක වූ පසු මෙම පිළිතුර යාවත්කාලීන කරන්න. ස්ථාවර අනුවාදයක් තිබුණද මිනිසුන් 11.1 සිදුවීම බාගත කිරීම ආරම්භ කළහොත් නරක වනු ඇත :)
සෙබස්තියන් වී ß

2
මට දැනටමත් 11.1 ක් ඇත, නමුත් වැඩ කළේ නැත, මම 11.2 දක්වා උත්ශ්‍රේණි නොකළෙමි.
JAHelia

6
ඔබ බොහෝ විට ඔබේ සංවර්ධන උපාංගයෙන් යෙදුම මකා දැමිය යුතු බවත් / හෝ CMD + Shift + K
එක්ස්කෝඩ් හි බිල්ඩ්

3
V11.2.1 වෙත යාවත්කාලීන කරන්නේ කෙසේද? එය යෙදුම් වෙළඳසැලේ පෙන්වන්නේ නැත. සංවර්ධක ද්වාරයෙන් GM බීජය බාගත කිරීමෙන් යෙදුම 8gb පමණ බාගත කිරීමට උත්සාහ කරයි!
mesqueeb

3
එසේම එය අවලංගු කර ඇත්නම්, ඇපල් දැනට යෙදුම් වෙළඳසැලේ 11.2 ඉවත් නොකරන්නේ ඇයි?
මැල්කම් සැල්වදෝර්

40

Xcode 11.2.1 හි ගැටළුව නිරාකරණය කර ඇත.

සංස්කරණය කරන්න: නිවැරදි කිරීම දැන් නිකුත් කර ඇති බැවින්, ඔබ එම Xcode අනුවාදයට මාරු වී මෙම ක්‍රියාකාරීත්වය පිළිබඳව අදහස් දැක්විය යුතුය . මොජ්ටාබා හුසේනි සිය පිළිතුරෙහි සඳහන් කළ පරිදි:

... මෙම අන්තිම වේගවත් ක්‍රියාමාර්ග දෙක ඇපල් පුද්ගලික ඒපීඅයි භාවිතා කරන අතර ඇපල් සමාලෝචනයෙන් එය ප්‍රතික්ෂේප කරනු ඇත!

නිවැරදි කිරීම ඇපල් විසින් නිකුත් කරන තෙක්, මෙය දිගටම සංවර්ධනය කිරීම සහ පරීක්ෂා කිරීම සඳහා හොඳ ක්‍රියාමාර්ගයක් විය.


Xcode 11.2 සඳහා, අෆ්තබ් මුහම්මද් ඛාන්ගේ අදහස මත පදනම්ව සහ ජෝන් නිමිස්ගේ උදව්වෙන් මම පහත කේතය පරීක්ෂා කළෙමි.

ස්ටෝරිබෝඩ් ලිපිගොනු වල වෙනසක් අවශ්‍ය නොවේ!

මගේ 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-C විසඳුම ස්විෆ්ට් වලට අනුවර්තනය කර ඇත :

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.

ස්තූතියි ftAftab!


අපට මෙම කේතය එක් කිරීමට අවශ්‍ය තැන? නියෝජිත ලිපිගොනු වලද?
SIDHARTH PU

IDSIDHARTHPU ඔබට එය ඇමතිය හැකියdidFinishLaunchingWithOptions
ලාල් ක්‍රිෂ්ණා

මෙම ගැටළුව සම්බන්ධයෙන් විවිධාකාර නිවැරදි කිරීම් අත්හදා බැලූ අතර Xcode 11.3 වන තෙක් මෙය උපක්‍රමයක් කළාද? Thx!
FlimFlam Vir

1
මෙය වඩාත් කෙටි හා දීප්තිමත් විසඳුමකි!
sVd

1
AlLalKrishna UITextViewWorkaround.swift නමින් නව ගොනුවක් සාදා එයට ඉහත කේතය එක් කරන්න. ඉන්පසු ප්‍රකාශය ඉදිරිපත් කිරීමට පෙර UITextViewWorkaround.executeWorkaround () මෙය didFinishLaunchingWithOptions වෙත එක් කරන්න.
ashishn

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.

සටහන: කතන්දර පුවරුවල සාදන ලද ඕනෑම ගුණාංගයක් ඔබට අහිමි වනු ඇත. මෙය බරපතල ඇඟවුම් ඇති කළ හැකිය (උදා: නියෝජිත සැකසුම, ප්‍රමාණය, ආදිය)


මෙය ක්‍රියාමාර්ගයක් සඳහා හොඳ පියවරක් ලෙස පෙනේ, නමුත් තවමත් එය විසඳුමක් නොවේ ...
Fattie

18

යාවත්කාලීන කළ විසඳුම: Xcode 11.2.1 වෙත යාවත්කාලීන කරන්න . එය මා සඳහා iOS 11, 12 හෝ 13 උපාංග මත ක්‍රියා කරයි.

වෙත යොමු වන්න ඇපල්ගේ ප්‍රලේඛනය මෙම යාවත්කාලීනය UITextView භාවිතා කරන යෙදුම් බිඳ වැටීමට හේතු විය හැකි තීරණාත්මක ගැටළුවක් නිරාකරණය කරයි.

පැරණි විසඳුම: https://developer.apple.com/download/more/ වෙතින් Xcode 11.1 බාගත කර ඇත. කර 11.2 සිට 11.1 දක්වා ආපසු මාරුවීම බිඳ වැටීම නිරාකරණය කර ඇත.

එසේම, Xcode 11.2 සමඟ පවා, මම මගේ අයිෆෝන් 13.2 දක්වා උත්ශ්‍රේණිගත කළ විට, එය බිඳ වැටීම නිවැරදි කළේය.


2
මෙය පහසුම
විසඳුමයි

6
IOS යාවත්කාලීන කිරීම පැහැදිලිවම සංවර්ධකයාගේ දෘෂ්ටිකෝණය යටතේ OP කතා කරන විසඳුමක් නොවේ.
keeshux

2
13.2 සහ Xcode 11.2 ට පෙර iOS අනුවාද සමඟ දෝෂය ඇති බව ඇපල් තහවුරු කළේය.
චක් කෘට්සින්ගර්

XCode අනුවාදය 11.1 (11A1027) දක්වා පහත හෙලා ඇත - තවමත් එකම බිඳ වැටීමක් ඇත (
rommex

ඔබ උත්ශ්‍රේණිගත කිරීම හෝ පහත හෙලීම සිදු කළ හොත් එය වොජ්ටෙක්ගේ පහත දැක්වෙන අදහස් අනුව පිරිසිදු Xcode හි ගොඩනැගීමේ ෆෝල්ඩරය (CMD + Shift + K) බිඳ වැටේ නම්, මෙය යාවත්කාලීන කිරීම සඳහා මට සවි කර ඇත
මයික් වොල්මාර්

17

11.2.1 GM බීජ මෙම ගැටළුව විසඳයි

(එය යෙදුම් වෙළඳසැලට ප්‍රකාශයට පත් කිරීමට භාවිතා කළ හැකිය)

Https://developer.apple.com/download/ වෙත යන්න . Xcode 11.2.1 GM බීජ බාගන්න

නිකුතු සටහන් මගින් මෙම දෝෂය නිරාකරණය කර ඇති බව සනාථ කරයි:

රූප විස්තරය මෙහි ඇතුළත් කරන්න


5
Xcode 11.2.1 GM බීජ ස්ථාපනය කිරීමෙන් පසු ඔබ බොහෝ විට ඔබේ සංවර්ධන උපාංගයෙන් යෙදුම මකා දැමිය යුතු අතර / හෝ Xcode හි ගොඩනැගීමේ ෆෝල්ඩරය (CMD + Shift + K) පිරිසිදු කළ යුතු බව කරුණාවෙන් සලකන්න.
වොජ්ටෙක් ඩිමිස්විච්

13

ඔබට ඇපල් සංවර්ධක වෙබ් අඩවියෙන් අවසන් Xcode බීටා නිකුතුව (11.2.1 GM) බාගත කර ගත හැකිය.

මෙන්න link ජු සබැඳිය

Xcode 11.2.1 GM බීජ


Xcode 11.2.1 GM බීජ ස්ථාපනය කිරීමෙන් පසු ඔබ බොහෝ විට ඔබේ සංවර්ධන උපාංගයෙන් යෙදුම මකා දැමිය යුතු අතර / හෝ Xcode හි ගොඩනැගීමේ ෆෝල්ඩරය (CMD + Shift + K) පිරිසිදු කළ යුතු බව කරුණාවෙන් සලකන්න.
වොජ්ටෙක් ඩිමිස්විච්

ස්ථාපනය කර වෙනත් ක්‍රියා පටිපාටියකින් තොරව ක්‍රියාත්මක කරන්න. ගැටළුව විසඳා ඇත ✌️
බොස් ඕස්

මම මෙය ස්ථාපනය කරන්නේ කෙසේද? එය මට ෆෝල්ඩරයක් ලබා දුන්නා, නමුත් ක්‍රියාත්මක කළ හැකි දෙයක් නැත
ස්කොබි

1
සපයා ඇති සබැඳියෙන් zip බාගත කර එය උපුටා ගන්න. ඉන්පසු යෙදුම් ෆෝල්ඩරයේ යෙදුම පිටපත් කරන්න.
බොස් ඕස්

1
ගැටලුව වන්නේ මම එය උපුටා ගන්නා විට, අන්තර්ගත සහ පාර-දත්ත ගොනු දෙකක් ලබා ගැනීමයි ... ඒ නිසා මම ඔවුන් සමඟ කුමක් කළ යුතු දැයි විමසුවෙමි. මම සංරක්ෂිත උපයෝගීතාවයක් භාවිතා කළේ එය මත ක්ලික් කිරීම සාමාන්‍යයෙන් අසමත් වන බැවිනි. මම නැවත උත්සාහ කරමි
ස්කොබි

12

@ ගරාෆජොන් පිළිතුර වැඩි දියුණු කිරීම. මට නම් එය බොහෝ අවස්ථාවල ක්‍රියාත්මක වේ.

///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
පරිපූර්ණව ක්රියා කරයි. @ ගරාෆජොන්ගේ කේතය අනපේක්ෂිත ස්ථානවල පෙට්ටි සමඟ ගැටළු ඇති කළේය. මෙය එම ගැටළු නිරාකරණය කරයි ~ විශිෂ්ට රැකියාව!
ekrenzin

8

"ඉක්මන්" විසඳුමක් ලෙස ඔබට UITextViewIB හරහා නොව කේතයෙන් කෙලින්ම එකතු කළ හැකිය . අවම වශයෙන් එය මට වැඩ කළා. මගේ දෘෂ්ටි කෝණයෙන් බැලූ විට පෙර Xcode වෙත පෙරළීම වඩා හොඳය / නව එකක් එනතෙක් බලා සිටින්න.


6

එය Xcode 11.2 සහිත දෝෂයකි. නවසෙට් iOS ගොඩනැගීම (13.2) ස්ථාපනය කර නොමැති සියලුම උපාංගවල උප පංති පෙළ දර්ශන බිඳ වැටෙමින් තිබේ. ඔබ බොහෝ විට එම ගොඩනැගීම සමඟ නිකුතුවක් ගොඩනගා නොගැනීම හොඳය.

ඔබට දැන් කළ හැකිය:

  • Xcode එක 11.1 දක්වා පහත හෙලන්න
  • ඔබගේ උපාංගය iOS 13.2 වෙත යාවත්කාලීන කරන්න

1
ඉතින් මෙම දෝෂය බලපාන්නේ උප පංති පෙළ දර්ශන වලට පමණක්ද?
ඩැරන්

1
Xcode යාවත්කාලීන කිරීමේදී iOS යාවත්කාලීන කිරීම ගැටළුව විසඳයි.
බුයින් බ්‍රයන්

2
ප්‍රශ්නය වන්නේ 13.2 ට වඩා කුඩා සෑම iOS එකක් සමඟම මුදා හරින ලද යෙදුමක බිඳ වැටීම සිදුවනු
ඇත්ද යන්නයි

6

මම සාර්ථක ක්‍රියාමාර්ගයක් භාවිතා කළ නමුත් එය වේදනාකාරී විය. මා අනුගමනය කළ ක්‍රියාවලිය මෙයයි:

  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

මගේ Xcode 11.2 11.2.1 දක්වා උත්ශ්‍රේණිගත කළ එකම ගැටලුව මට තිබුණි.

උත්ශ්‍රේණිගත කිරීමෙන් පසු මම iOs 13 සහ iOS 12 යන දෙඅංශයෙන්ම එය අත්හදා බලා ඇති අතර එය හොඳින් ක්‍රියාත්මක විය.


බොස් ඕස් පිළිතුරේ අනුපිටපත.
Cœur

0

1. ගැටලුව:

Xcode 11.2 සමඟ ගැටළුවක් ඇති අතර, UITextView අඩංගු ස්ටෝරිබෝඩ්, Xcode 11.2 සමඟ සම්පාදනය කරන්නේ නම්, iOS 13.2 ට වඩා කලින් OS අනුවාදයන් මත යෙදුම බිඳ වැටෙනු ඇත.

Xcode 11.2

මෙම ඇපල් ප්‍රලේඛනය පරීක්ෂා කරන්න .

2. විසඳුම:

එකම විසඳුම වන්නේ ඔබේ Xcode එක 11.2.1 හෝ 11.3 වෙත යාවත්කාලීන කිරීමයි .

මෙම බිඳ වැටීමේ ගැටළුව විසඳීම සඳහා Xcode 11.2.1 විශේෂයෙන් නිකුත් කරන ලදී.

රූප විස්තරය මෙහි ඇතුළත් කරන්න මෙම ඇපල් ප්‍රලේඛනය පරීක්ෂා කරන්න .

3. යෝජනාව:

IOS 13.3 සඳහා යෙදුම් සංවර්ධනය කිරීමට මෙය සහාය වන බැවින් Xcode 11.3 හි නවතම අනුවාදය සමඟ යාමට මම ඔබට යෝජනා කරමි. මෙම ඇපල් ප්‍රලේඛනය පරීක්ෂා කරන්න .


-1

මෙම ගැටළුව Xcode අනුවාදය 11.2.1 හි නිරාකරණය කර ඇති අතර නිකුතු සටහන් වල සඳහන් කර ඇත:

මෙම යාවත්කාලීනය UITextView භාවිතා කරන යෙදුම් බිඳ වැටීමට හේතු විය හැකි තීරණාත්මක ගැටළුවක් නිරාකරණය කරයි

Xcode නිකුතු සටහන් තිර රුව

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.