Tidak ada jawaban di atas yang berfungsi untuk saya. Ini karena kesalahan itu bukan disebabkan oleh aplikasi induk atau ekstensi itu. Sebaliknya salah satu perpustakaan yang terhubung salah.
Untuk mengonfirmasi, arsipkan dulu menggunakan Xcode kemudian gunakan Agenda pilih entri dan cari menggunakan Show in Finder. Ini akan menampilkan .xcarchive
file.
Pilih file itu dan pilih "Tampilkan Isi Paket".
Pilih .app di folder Produk / Aplikasi dan pilih lagi "Tampilkan Isi Paket".
Temukan modul yang melanggar di folder Frameworks. Misalnya jika kesalahannya adalah:
ERROR ITMS-90206: "Invalid Bundle. The bundle at 'MyApp.app/Frameworks/MyLib.framework' contains disallowed file 'Frameworks'."
Maka di Frameworks/MyLib.framework
bawah ini mungkin akan terlihat:
../Frameworks/libswiftContacts.dylib
../Frameworks/libswiftCore.dylib
../Frameworks/libswiftCoreData.dylib
../Frameworks/libswiftCoreGraphics.dylib
../Frameworks/libswiftCoreImage.dylib
../Frameworks/libswiftCoreLocation.dylib
../Frameworks/libswiftDarwin.dylib
../Frameworks/libswiftDispatch.dylib
../Frameworks/libswiftFoundation.dylib
../Frameworks/libswiftLocalAuthentication.dylib
../Frameworks/libswiftObjectiveC.dylib
../Frameworks/libswiftPassKit.dylib
../Frameworks/libswiftUIKit.dylib
../Frameworks/libswiftWebKit.dylib
Ini hadir karena pustaka tertaut - atau modul - yang menyertakan aplikasi induk memiliki EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
Temukan modul dependen dalam Xcode dan perbarui benderanya:
Perhatikan bahwa setelah mengatasi masalah ini aplikasi masih dapat ditolak dengan email penjelasan dari iTunes Store:
Invalid Swift Support - The Watch OS application has Swift libraries at both...
Sekali lagi ini kembali ke EMBEDDED_CONTENT_CONTAINS_SWIFT
bendera. Pastikan hanya aplikasi induk yang diatur untuk ini YES
. Aplikasi dan ekstensi WatchKit harus memiliki flag ini NO
. Ini sebagaimana dirinci dalam jawaban @ Mike di atas.