Unable to distribute watchOS only build

I don't see upload option for the App Store connect, can only export .ipa.

Also having issues with Transporter, pasting error message here.

Could not create a temporary .itmsp package for the app "Redacted.ipa". Unable to determine app platform for 'Undefined' software type.

Is anyone else facing the same issue? I am using Xcode 15.

Answered by borisy in 767937022

I can't reproduce this issue any more. Since installing Xcode 15.1, now when I create a new watchOS-only project it, is embedded in the stub iOS application.

Can you provide more information about what steps you're performing? Not sure where the process is breaking down for you.

I've been trying to fix this issue and I have tried many things. The problem remains, the "Validate App" Button is disabled. I can build the app on real hardware, but I can't upload it to the App Store Connect.

Clicking Distribute opens this sheet, I can export .ipa, but then there will be issue with the Transporter described in the original question. Possibly, Transporter is not yet updated to support watchOS 10 builds. So the Xcode 15 is my only hope.

I suspect that the issue is with my project configuration. The problem is that it is too many unknowns, the default template doesn't work, and there's no proper documentation for watchOS only apps.

What I am trying to do

With Xcode 15, I will attempt to build a minimal reproducible scenario. Using Xcode 15 and creating a new project will make sure I am using an up-to-date default template.

  1. I have created a new project with a Bundle identifier ending with the product name, e.g. "MYApp", com.company.MYApp. Selected "Watch-only App". Include tests checked.
  2. Select main app target, Bundle ID would show .watchkitapp, replaced with com.company.MYApp.
  3. Archiving the product, leads to a problem. The archive is classified as "Other items". I would expect it under "watchOS Apps"

  1. I already know how to fix it by SKIP_INSTALL to YES. And with this change, it's no longer "Generic Xcode Archive", it's "watchOS App Archive"
//:configuration = Release
SKIP_INSTALL = NO
  1. I am restless regarding .watchkitapp, does the bundle ID need to have it? I have tried with and without it, and the only difference I can observe is in Organizer GUI, I can see "watchOS app" in the oval brackets before the bundle ID.

  1. I have tried all 6 permutations for the following flags.
INFOPLIST_KEY_WKWatchOnly = YES
INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp = NO
  1. As the target device for archiving I have tried a generic, simulator (which is new in Xcode 15) and real hardware.

The main problem remains. The "Validate App" button is disabled.

I am having a similar issue. I have a WatchOS only app. When I try to upload to AppStoreConnect to distribute via TestFlight I get this error:

App record creation failed due to an invalid attribute. Request failed with error code "ENTITY_ERROR.ATTRIBUTE.INVALID.DUPLICATE.SAME_ACCOUNT"

@jshackx might be something else because in my scenario there are no options to upload. Does yours fail during uploading/validation?

Accepted Answer

I can't reproduce this issue any more. Since installing Xcode 15.1, now when I create a new watchOS-only project it, is embedded in the stub iOS application.

I seem to be having the exact same issue but on Xcode 15.2, my project is also a watchOS only build, the validate button is grayed out and I cannot upload via TestFlight & App Store option. Did you learn anything about the required configuration?

I seem to have the same issue. Xcode Version 15.4 (15F31d) with a hello world program with "skip install" to No.

I also tried XCode build leading to this error only in

Export archive for app-store distribution
Run command: 'xcodebuild -exportArchive -archivePath /Volumes/workspace/tmp/dc3775f8-f018-49a5-8917-169b97d9a3db.xcarchive -exportPath /Volumes/workspace/appstoreexport -exportOptionsPlist /Volumes/workspace/ci/app-store-exportoptions.plist '-DVTPortalRequest.Endpoint=http://172.17.121.140:8089' -DVTProvisioningIsManaged=YES -IDEDistributionLogDirectory=/Volumes/workspace/tmp/app-store-export-archive-logs -DVTSkipCertificateValidityCheck=YES -DVTServicesLogLevel=3'

Command exited with non-zero exit-code: 70

Unable to distribute watchOS only build
 
 
Q