giginet / Scipio

A new build tool to generate XCFramework

Home Page:https://giginet.github.io/Scipio/documentation/scipio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Xcode15 beta2 で `missingKey("productType")` が出て動かない

omochi opened this issue · comments

prepareコマンドを実行したところ、下記のエラーが出ました。

🔁 Resolving Dependencies...
missingKey("product_type")
missingKey("product_type")
Error: Invalid package. /Users/omochi/github/apple/swift-nio
Program ended with exit code: 1

Xcode15 beta2 においても、ツールチェーンをXcode14.3を使ったところ、
このエラーは生じず、実行が進みました。

余談ですが、
https://github.com/unsignedapps/swift-create-xcframework
でも同じ事が起こりました。

@freddi-kit から xcode15-beta3 ブランチを教えてもらいました。
しかし、以下のエラーが出ました。

🔁 Resolving Dependencies...
keyNotFound(CodingKeys(stringValue: "packageAccess", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "package", intValue: nil), CodingKeys(stringValue: "targets", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"packageAccess\", intValue: nil) (\"packageAccess\").", underlyingError: nil))
keyNotFound(CodingKeys(stringValue: "packageAccess", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "package", intValue: nil), CodingKeys(stringValue: "targets", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"packageAccess\", intValue: nil) (\"packageAccess\").", underlyingError: nil))
Error: Invalid package. /Users/omochi/work/sp/App
Program ended with exit code: 1

beta2 なのがいけないのかもしれません。

beta4 をダウンロードして試してみます。
beta3 はAppleのダウンロードリンク集からは消えていました。
https://developer.apple.com/download/all/?q=Xcode%2015

xcode15-beta3 ブランチを、 Xcode15 beta4 で実行したところ、エラーが解消されました。

https://github.com/apple/swift-syntax のように、
利用しているXcodeのバージョンに対応した使用すべきブランチやタグの対応を取る必要があることを、
READMEに掲載すると良いと思いました。

ありがとうございます。

この問題については既に認識しており、最新のXcode 15 beta 3で修正を確認済みです。
このタグで動作します
https://github.com/giginet/Scipio/tree/beta/xcode15-beta3

これについて、ですが、Scipioで使っているSwiftPMのSwift 5.9 snapshotと、Xcode 15 beta 2以前に付属している libPackageDescription に非互換があるのが原因です。
https://github.com/apple/swift-package-manager/blob/c08cd692bb8caa73bc470c01c971d78d06c248a1/Sources/PackageLoading/ManifestLoader.swift#L728

Xcode付属の libPackageDescription を使ってPackage Manifestをコンパイルして、Scipioが依存しているSwiftPMを使ってdecodeしようとするので、ミスマッチがあって壊れています。

READMEについてはいろいろ足りていないので、9月までに予定している正式リリース時に整備します。