X
挿入します。input-mask
タグで同様の問題を検索しました。入力マスクを利用してTextFieldを使用するViewControllerを使用した後、アプリがクラッシュすることに気付きました。 その正確なページが前日に機能し、ストーリーボードのビューコントローラーまたはUIに変更を加えていなかったため、これは奇妙でした-私が行った唯一の変更は、環境内でした:xCode 10 Beta2を使用してアプリをビルドしましたiOS 12.2 Developer beta 2のベータ版を実行しているiPhoneでアプリを実行/テストできるようにする現在のページからすべてのコントロールを1つずつ取得し、いつ実行されるかを確認して、新しいViewControllerを構築することにしました。ブレーク-InputMaskデリゲートオブジェクトを追加した瞬間にのみブレークしました。
InputMaskテキストフィールドが設定されたページがあります-iOS12.2開発者ベータ2用のアプリをビルドします(xCode 10ベータ2を使用)
期待される動作
入力マスク機能
実際の動作
アプリのクラッシュ:エラーが発生しました:
Terminating app due to uncaught exception 'NSGenericException', reason: 'This coder requires that replaced objects be returned from initWithCoder:'
これが問題の核心ですが、残りのエラー呼び出しスタックは次の場所にあります。
*** First throw call stack:
(
0 CoreFoundation 0x0000000108ca072b __exceptionPreprocess + 331
1 libobjc.A.dylib 0x000000010768eac5 objc_exception_throw + 48
2 CoreFoundation 0x0000000108ca0585 +[NSException raise:format:] + 197
3 UIFoundation 0x000000010f47e89c UINibDecoderDecodeObjectForValue + 827
4 UIFoundation 0x000000010f47eaf9 UINibDecoderDecodeObjectForValue + 1432
5 UIFoundation 0x000000010f47e554 -[UINibDecoder decodeObjectForKey:] + 251
6 UIKitCore 0x0000000111825e90 -[UIViewController initWithCoder:] + 1021
7 DumaPay Consumer iOS 0x00000001055bde66 $s20DumaPay_Consumer_iOS25TestAddCardViewControllerC5coderACSgSo7NSCoderC_tcfc + 2214
8 DumaPay Consumer iOS 0x00000001055bdf2f $s20DumaPay_Consumer_iOS25TestAddCardViewControllerC5coderACSgSo7NSCoderC_tcfcTo + 47
9 UIKitCore 0x0000000111aaae89 -[UIClassSwapper initWithCoder:] + 246
10 UIFoundation 0x000000010f47e852 UINibDecoderDecodeObjectForValue + 753
11 UIFoundation 0x000000010f47e554 -[UINibDecoder decodeObjectForKey:] + 251
12 UIKitCore 0x0000000111aaf4d1 -[UIRuntimeConnection initWithCoder:] + 178
13 UIFoundation 0x000000010f47e852 UINibDecoderDecodeObjectForValue + 753
14 UIFoundation 0x000000010f47eaf9 UINibDecoderDecodeObjectForValue + 1432
15 UIFoundation 0x000000010f47e554 -[UINibDecoder decodeObjectForKey:] + 251
16 UIKitCore 0x0000000111aacd81 -[UINib instantiateWithOwner:options:] + 1216
17 UIKitCore 0x0000000111fc5290 -[UIStoryboard instantiateViewControllerWithIdentifier:] + 181
18 DumaPay Consumer iOS 0x0000000105623ea9 $s20DumaPay_Consumer_iOS28AddCardScannerViewControllerC010goToManualfE004cardG6ResultySo0b15CardsRecognizerN0CSg_tF + 249
19 DumaPay Consumer iOS 0x0000000105623d2e $s20DumaPay_Consumer_iOS28AddCardScannerViewControllerC02oneF15ManuallyClicked6senderyyp_tF + 62
20 DumaPay Consumer iOS 0x0000000105623d8c $s20DumaPay_Consumer_iOS28AddCardScannerViewControllerC02oneF15ManuallyClicked6senderyyp_tFTo + 76
21 UIKitCore 0x0000000111e2e834 -[UIApplication sendAction:to:from:forEvent:] + 83
22 UIKitCore 0x00000001118845b5 -[UIControl sendAction:to:forEvent:] + 67
23 UIKitCore 0x00000001118848d2 -[UIControl _sendActionsForEvents:withEvent:] + 450
24 UIKitCore 0x0000000111883888 -[UIControl touchesEnded:withEvent:] + 583
25 UIKitCore 0x0000000111e6751e -[UIWindow _sendTouchesForEvent:] + 2547
26 UIKitCore 0x0000000111e68c02 -[UIWindow sendEvent:] + 4079
27 UIKitCore 0x0000000111e47346 -[UIApplication sendEvent:] + 356
28 UIKitCore 0x0000000111f178c3 __dispatchPreprocessedEventFromEventQueue + 3232
29 UIKitCore 0x0000000111f1a1e9 __handleEventQueueInternal + 5911
30 CoreFoundation 0x0000000108c07c11 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
31 CoreFoundation 0x0000000108c07493 __CFRunLoopDoSources0 + 243
32 CoreFoundation 0x0000000108c01b4f __CFRunLoopRun + 1231
33 CoreFoundation 0x0000000108c01332 CFRunLoopRunSpecific + 626
34 GraphicsServices 0x000000010f1222fe GSEventRunModal + 65
35 UIKitCore 0x0000000111e2d1d2 UIApplicationMain + 140
36 DumaPay Consumer iOS 0x0000000105609bdb main + 75
37 libdyld.dylib 0x000000010a883861 start + 1
38 ??? 0x0000000000000001 0x0 + 1
)
プラットフォーム情報
ねえ@SteynMarnus 、
ナイスキャッチ! すべてのデバッグ情報をありがとう。
Sample
を最新のXcode-beta
で実行してみましたが、同じ結果が得られました。
調べて、調査結果を共有します。
ねえ@SteynMarnus 、
ナイスキャッチ! すべてのデバッグ情報をありがとう。
Sample
を最新のXcode-beta
で実行してみましたが、同じ結果が得られました。
調べて、調査結果を共有します。
問題ありません! ベータ版は少し「ワイルドウェスト」です。 ご覧いただきありがとうございます。
さて、どういうわけか私はそれを逃しました。
ここで、既知の問題2:
Swiftメタデータが占めるサイズを減らすために、Swiftで定義された便利なイニシャライザーは、Objective-Cで定義された指定のイニシャライザーを呼び出している場合にのみ、オブジェクトを事前に割り当てるようになりました。 ほとんどの場合、これはプログラムに影響を与えませんが、便利なイニシャライザーがObjective-Cから呼び出された場合、+ allocからの初期割り当ては、イニシャライザーが呼び出されることなく解放されます。
基本的に、 alloc/init
シーケンス依存関係の問題。 _また…_
まあ、これが解決されている間、回避策は置き換えることです
public override convenience init() {
// Interface Builder support
self.init(primaryFormat: "")
}
と
public override init() {
// Interface Builder support
self.primaryMaskFormat = ""
self.autocomplete = true
self.autocompleteOnFocus = true
self.rightToLeft = false
self.affineFormats = []
self.affinityCalculationStrategy = .wholeString
self.customNotations = []
self.onMaskedTextChangedCallback = nil
super.init()
}
公式スウィフト5のリリースまで、このオープンを維持しましょう。
ああ、かっこいい@taflanidi 、これをMaskedTextViewDelegate.swift
ファイルでこれを置き換える必要があると思いますか?
@SteynMarnusあなたに合ったものは何でも。 チームの規模に応じて、独自のフォークを導入するか、独自に作業する場合はポッド自体のそれらの行を置き換えることができます。 あなたは私よりよく知っています。
これらの変更をまだライブラリに入れたく
UPD。 使用しているのはMaskedTextViewDelegate
ではなく、 MaskedTextFieldDelegate
だと思います。 それにもかかわらず、それらの両方が同じ問題を抱えています。
おい
今日、Xcode 10.2がリリースされましたが、このバグはまだ残っています。
@taflanidiあなたの回避策は役に立ちません。
@sashaBizquit私は単に回避策を見つけましたswift
required public init?(coder aDecoder: NSCoder) {
// Interface Builder support
self.primaryMaskFormat = ""
self.autocomplete = true
self.autocompleteOnFocus = true
self.rightToLeft = false
self.affineFormats = []
self.affinityCalculationStrategy = .wholeString
self.customNotations = []
self.onMaskedTextChangedCallback = nil
super.init()
}
public override init() {
// Interface Builder support
self.primaryMaskFormat = ""
self.autocomplete = true
self.autocompleteOnFocus = true
self.rightToLeft = false
self.affineFormats = []
self.affinityCalculationStrategy = .wholeString
self.customNotations = []
self.onMaskedTextChangedCallback = nil
super.init()
}
この交換後、ビルドをクリーンアップする必要がある場合があります
ねえ@sashaBizquit 、ねえ@ Rik626!
ご報告ありがとうございます。
パッチは今週後半にリリースされますので、しばらくお待ちください。
この問題に関する更新はありますか?
まだ更新はありませんか?
さて、Swift 5に関連する別のバグがありました。すべてが機能していることを確認するために、さらに調査する必要がありました。時間がかかりました。
v。 4.1.1
会います。
最も参考になるコメント
まだ更新はありませんか?