Avatar
unsafeFlagsを使ったやつ、unsafeFlagsを使ってるFooそのものじゃなくて、Fooに依存してるCFooの方を利用しようとしたら、MergeSwiftModuleのフェーズでエラーになりました(なお、"App"はiOSアプリで、Xcode 11 beta 4で試しています)
2:48 AM
<unknown>:0: error: error opening '(...ProjectのDerivedDataのパス...)/SourcePackages/checkouts/Foo/Sources/CFoo/include/Foo-Swift.h' for output: Operation not permitted
2:49 AM
なお、Fooそのものの方を利用しようとしたら(ObjCからは呼び出せないことは覚悟の上で試しにやってみたら)、サクッと次のような感じのエラーになりました。 error: The package product 'Foo' cannot be used as a dependency of this target because it uses unsafe build flags. (in target 'App' from project 'App')
2:51 AM
でもまあFoo-Swift.hを更新するためだけの、パッケージ外に公開しないターゲットを作っておけば、Fooの開発中にそちらのターゲットをビルドすることで自動的にFoo-Swift.hを作れそうなので、運用面はだいぶ改善される気がします。まだそちらは試してませんけど。