Nenhuma das respostas acima funcionou para mim. Isso ocorreu porque o erro não foi causado pelo aplicativo pai ou por sua extensão. Em vez disso, uma das bibliotecas vinculadas estava com defeito.
Para confirmar, primeiro arquive usando o Xcode e, em seguida, usando o Organizer, selecione a entrada e localize usando Mostrar no Finder. Isso mostrará o .xcarchive
arquivo.
Selecione esse arquivo e escolha "Mostrar conteúdo do pacote".
Selecione o .app na pasta Produtos / Aplicativos e escolha novamente "Mostrar conteúdo do pacote".
Localize o módulo incorreto na pasta Frameworks. Por exemplo, se o erro for:
ERROR ITMS-90206: "Invalid Bundle. The bundle at 'MyApp.app/Frameworks/MyLib.framework' contains disallowed file 'Frameworks'."
Em seguida, o Frameworks/MyLib.framework
seguinte provavelmente estará visível:
../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
Eles estão presentes porque a biblioteca vinculada - ou módulo - que o aplicativo pai inclui possui o EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
Localize o módulo dependente no Xcode e atualize o sinalizador:
Observe que, após superar esse problema, o aplicativo ainda pode ser rejeitado com um email explicativo da iTunes Store:
Invalid Swift Support - The Watch OS application has Swift libraries at both...
Novamente, isso volta à EMBEDDED_CONTENT_CONTAINS_SWIFT
bandeira. Verifique se apenas o aplicativo pai está definido como YES
. O aplicativo WatchKit e a extensão devem ter esse sinalizador definido como NO
. Isso é detalhado na resposta de @ Mike acima.