SwiftでのGeometry Proxyを使う方法(Xcode11.4.1)
初めての投稿です。
現在、Swift UIでアプリケーションからAirDropで共有をするためのActivity Viewを制作しています。
その中で、子Viewを親Viewへ引き渡すためのGeometry Proxyを記述しているのですが、
以下のコードだと、シミュレータ・実機(iOSバージョン13.4.1)で実行できても、次に示す行でThread 1: signal SIGABRTエラーが出てしまいます。
// 以下ソース
struct RectangleGetter: View {
@Binding var rect: CGRect
var body: some View {
GeometryReader { geometry in
self.createView(proxy: geometry)
}
}
func createView(proxy: GeometryProxy) -> some View {
DispatchQueue.main.async {
self.rect = proxy.frame(in: .global) // この行でThread 1: signal SIGABRTエラー
}
return Rectangle().fill(Color.clear)
}
}
// ソースここまで
ちなみに、Xcode11.3.1, iOS13.3.1までは普通に実機でも実行できていました。
その後、コードを変更したことはありません。
この間にコードの記述方法が変わったのでしょうか?
それともiOS側のバグか何かでしょうか?
ご教授ください。よろしくお願いいたします。