アルトリートの旅日誌

公開

iOSでキャラストが落ちる問題の経緯の個人的まとめ


 高屋敷Pのtwitterで、iOSで落ちる問題(メモリ問題)の対応として、明日のメンテナンスでこの問題が起きる以前の環境に巻き戻すことがツイートされていました。

https://twitter.com/takayashikisato/status/1135408801471844352
 キャラバン、明日のメンテでiOSでのメモリ問題の巻き戻しが確定しまして、おかしくなる前の状況に戻ります。 


この問題について教えてもらった情報を参考に個人的見解(参考サイトの情報や高屋敷Pのツイートからぼんやり私が把握した内容)での経緯をまとめたいと思います。

-----

Q1. そもそも何があったの?
A1. 2019/3/26のメンテナンスでクライアントがver3.4.0になりましたがこの時から特にiOSでクライアントが落ちる現象が多発するようになりました
https://masters.caravan-stories.com/news/aebzsssi?category=updates

Q2. なんで落ちるの?
A2. キャラストのメモリ使用量がアプリが使ってよい量を越える程増大するからです

Q3.  なんでメモリ使用量が増大したの?
A3.  キャラストに限らずiOS用のアプリを作成するために必要なApple製のXcodeという開発用ツールのバージョンを10.1以降にあげたからのようです
参考1) https://twitter.com/takayashikisato/status/1115925605164257280
参考2) https://qiita.com/kuroshio-ice/items/e60b1d0b270d1bb74586#apple-forums

Q4. なんでXcodeのバージョンあげたの? Xcodeを前のバージョンに戻せばいいんじゃないの?
A4. 2019年3月27日(問題のメンテの次の日!)以降はAppleが古いバージョンのXcodeで作成されたアプリのAppStoreへの申請を受け付けないことになったため、Xcodeを古いバージョンに戻したアプリを申請をしてもAppStoreからリジェクトされてしまうため戻せないようです
参考3) https://developer.apple.com/jp/app-store/submissions/

Q5.  対策はないの?
A5.  Xcode自体の問題が修正されない限りは、キャラストのメモリの使い方自体を見直して地道に使用量を減らすしかないみたい

 ……というのが今までの状況だったんですが、前出のQ3の参考URLで書いてあるようにAppleが、メモリ使用量が増大することを認めて「支障があるアプリについて連絡してくれれば古いバージョンのXcodeを使ってもいいですよ」ということになったようです。

参考4) https://developer.apple.com/news/?id=03202019a

Understanding Changes in Memory Accounting
iOS 12 and tvOS 12 require apps to use memory far more efficiently than before. If you have difficulty reducing your app’s memory requirements, contact us to request an entitlement for your app to use iOS 11-style memory accounting.

(訳)
メモリ管理の変更について
iOS12とtvOS12のアプリは、以前よりも効率的なメモリの利用が必要になります。 もし、あなたのアプリのメモリの必要量を削減することが難しい場合には、アプリでiOS11スタイルでのメモリ管理を使用できるようにするために弊社にご連絡ください。


https://twitter.com/takayashikisato/status/1133738063086022662
プラットフォーマー様のお許しがやっと出たので、Xcodeのダウングレードを行うことができそうです(iOSの環境で改善)。問題発生前に戻します。


Q6. 今後はどうなるの?
A6. 高屋敷Pが「執行猶予」と表現していることから察するに、古いXcodeをいつまでも使い続けられるわけではないようです(いつまでかは不明)。
 
https://twitter.com/takayashikisato/status/1135408801471844352 
apple様からいただいた執行猶予中に100%改修できました…。と報告できるように対応進めていくようにします。

この間にどうにかキャラストのメモリ使用量を減らしていきつつ、Appleがメモリ使用量の増大が発生しないようにXcodeを直してくれることを期待するしかない、という状態のようです。

----

追記) 
https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_release_notes 
今日開催されていたAppleのWWDC2019で、新しいXcode 11のベータ版がリリースされたようです。
ただ、リリースノートを見てもこのメモリに関する問題についての記述はないんですよねー……。


アルトリート

コメント