MVVMでiOS12からiOS13への修正を表現する

前提条件 Model View ViewModelでの表現

Model

そのアプリケーションが扱う領域のデータと手続き

View

ユーザーが見るのに適した形で表示

ViewModel

viewとModelの間の情報の伝達と、viewのためのデータバインディング機構、表示

今回の役目

Modelに値する役割が、Githubのコメント欄でエラーログ、エビデンスを定義

Viewに値する役割が、資料で改善内容をGithubリンクを集約

ViewModelに値する役割が、Github上にあるコード修正差分

bug1.~.4 参考          RARFSlider

bug.5 参考                 SampleGenerambaViper

View

bug1.画面が表示できない

対応方法

add struct RARFStructure

add callBack logic by RARFPickerViewController

add callBack logic

add callBacklogic by VC

bug2.デザインBug 右に緑色の線が表示

これはiOS13からの症状ではないが、iOS13の

AVAssetExportPresetHEVCHighestQualityWithAlphaプロパティを定義した事によって発生しました。

https://twitter.com/dbank0208/status/1175870242855063553?s=20

対応方法

change mainComposition.renderSize logic

bug3. TrimButtonでクラッシュする

add DispatchQueue.main.async for alert

bug4. merge処理をした際にクラッシュ

trimButtnを押下、同じ画面でもう1度trimButtnを押下

mergeButtonを押下してクラッシュ

iOS12の場合は、同じ動作を実施しても発生しませんでした。今回はiOS13で起きた挙動を紹介します。

対応方法

add guard aVAssetSecound.tracks(withMediaType: .video).count

add mixComposition init()

bug.5 仕様書のExampleGropの2P項目。下スクロールし、通信取得が出来ない

仕様書

対応方法

add async

change willDisplay logic

貴重なお時間お読み下さいまして、ありがとうございます。