Không có câu trả lời nào ở trên làm việc cho tôi. Điều này là do lỗi không phải do ứng dụng gốc hoặc do tiện ích mở rộng. Thay vào đó, một trong những thư viện được liên kết đã có lỗi.
Để xác nhận, trước tiên, lưu trữ bằng Xcode, sau đó sử dụng Trình tổ chức, chọn mục nhập và định vị bằng Hiển thị trong Trình tìm kiếm. Điều này sẽ hiển thị các .xcarchive
tập tin.
Chọn tệp đó và chọn "Hiển thị nội dung gói".
Chọn .app trong thư mục Sản phẩm / Ứng dụng và chọn lại "Hiển thị nội dung gói".
Xác định vị trí mô-đun vi phạm trong thư mục Khung. Ví dụ: nếu lỗi là:
ERROR ITMS-90206: "Invalid Bundle. The bundle at 'MyApp.app/Frameworks/MyLib.framework' contains disallowed file 'Frameworks'."
Sau đó, Frameworks/MyLib.framework
sau đây có thể sẽ được hiển thị:
../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
Chúng có mặt vì thư viện được liên kết - hoặc mô-đun - mà ứng dụng mẹ bao gồm có EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
Xác định vị trí mô-đun phụ thuộc trong Xcode và cập nhật cờ:
Lưu ý rằng đã khắc phục vấn đề này, ứng dụng vẫn có thể bị từ chối với một email giải thích từ iTunes Store:
Invalid Swift Support - The Watch OS application has Swift libraries at both...
Một lần nữa điều này trở lại với EMBEDDED_CONTENT_CONTAINS_SWIFT
cờ. Đảm bảo rằng chỉ có ứng dụng gốc có cài đặt này YES
. Cả ứng dụng và tiện ích mở rộng WatchKit đều phải đặt cờ này thành NO
. Đây là chi tiết trong câu trả lời của @ Mike ở trên.