tvOS Invalid Toolchain when Submitting tvOS 9.1 app - xcode

I'm trying to submit a tvOS app through iTunes Connect, and every time I try I get the following message:
Invalid Toolchain. New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, and tvOS 8 SDK or later. Don't submit apps built with beta software.
I have made sure to update Xcode to it's newest App Store version, and I'm not using any beta software.

While I never ended up resolving this issue completely, I did find a workaround.
When submitting an app, iTunes Connect checks the compiled app's compatibility to the latest operating system (in this case, for tvOS 9.1 build 13U85). While compatibility is completely fine between the two, Xcode has a bug. During the archiving process, Xcode specified my archive as Build 13U78 which is inaccurate and not correct.
A workaround I found, which is quite simple, changes the archive's build from (in my case) build 13U78 to build 13U85.
First, we'll create an archive which is self explanatory.
Second (and this is essential) we need to do the following:
Open 'Show in Finder'
Next, you need to right-click your archive and choose 'Show Package Content'
Then go to Products, then Applications, then repeat the second step (right click the .app file, then choose 'Show Package Content').
Once you're there, open the Info.plist file.
You'll see some version information in it, but what we want are:
DTSDKBuild
...
DTPlatformBuild
These two options should be something like:
DTPlatformBuild 13U78
...
DTSDKBuild 13U78
Modify 13U78 to be the most recent build of tvOS, or in my case:
DTPlatformBuild 13U85
...
DTSDKBuild 13U85
You're almost done! Just save the modified Info.plist file and close it out. Then Submit to App Store- you're done!
Make absolutely sure you're using the most recent build of tvOS.

Related

Xcode Automatic Signing for macOS Developer ID

I'm trying to sign a macOS app with Developer ID / Gatekeeper using Xcode 8 or 9. In the past, I've always done this by scripting codesign. But now I want to add a iCloud entitlement, and that seems to require signing by Xcode. The page on Developer ID in Apple's App Distribution Guide still shows what I remember from an older Xcode version. In Xcode 8 or 9, you see there is no more Developer ID radio buton…
Is the above a correct configuration for Developer ID? (I don't think so, but I don't see any other options!)
After Product > Archive completes, the produced BookMacster archive seems to be a Generic Xcode Archive instead of a app archive…
And the choices it gives me when I click Export don't seem appropriate an app…
If I Save Built Products, I get a directory structure which contains all of the other executables and helpers in the package, but not the BookMacster.app!

Deploy a Swift OS X app locally?

I am not new to programming, but I am new to Swift. I have developed a small app that I have no intention of distributing, I just want to use it for myself. Everything works just as desired in XCode and now I want to deploy that app locally. How can I run my app on my machine without needing to have XCode also running? I just want to see my app in my Applications folder and run it when I want. Does XCode put build files somewhere that I can access them and use outside of XCode?
On the Product menu there is an Archive option. Select that to create an archive of your app.
Xcode should then automatically open the Organiser window with the archive of your app selected.
You'll see a big blue button called Upload to App Store on the right with two smaller buttons below it. The one you want is called Export... Press it and you'll get a pane giving you various export options with different kinds of signing.
The bottom option creates an unsigned .app file which you can put in your Applications directory.
NB As Eric D says, you can just drag the app out of the products directory, but unless you edit the scheme, that will give you a debug build with less optimisation and with asserts activated.
Update for Xcode 11.2
As Bell B. Cooper points out, the process has changed slightly. Now when you archive an app, you get a window listing the apps and a big blue "Distribute" button. Pressing this, gets you a dialog box giving you the various options. Which one you choose depends on what you want to do with the executable. With Catalina, unless it's just for your own use, you probably want to go for one of the options that involves signing the app.
Edit: while this answer still works, it targets old Xcode versions and uses the debug version of your executable. For recent Xcode versions, and for using the release version of your executable, see JeremyP's answer.
Each time you build an OS X application with the current scheme, Xcode automatically populates the "Products" folder with the related app bundle.
You can find this folder in the Project Navigator:
Xcode > Project Navigator > "Products" folder
Your .app is in there and ready to be used and/or copied to the /Applications folder.

Application's new version uploaded on iTune with internal testing enabled not appearing on Testflight app

I have released one version on my Application on iTune and is in process to release second one. Now I have uploaded the the .ipa file of the application and switching on for internal testing. But the application is not appearing on Testflight app of internal tester. I am uploading the .ipa file through Xcode 6.1 and also trying with Xcode 6.3.
When you upload the app on iTunes, then you can not add new IPA in existing version of app.
Make sure that for your app you have turned the switch ON for TestFlight Beta Testing.
Once done with that go to Internal Testers tab and check the internal testers from the list and invite them. Thats it! Hope it helps :]
Cheers!
If you've uploaded a build for the next/new version, you should see it at the top of the list of builds under the "Prerelease" menu for your app.
Assuming you're Build is in the list, check the "Internal" column for that build. If it says "Invite Testers", then that build is not yet active. What you probably need to do then is click the build number and make sure all the fields are filled out - especially "What to Test" - and then click the Save button. When you go back to the Builds list, it should now say "Active (30 Days Left)" under Internal. And should show up for testers in the TestFlight app.
I've noticed that sometimes I need to go through this process for a new build (even on a version I've already been testing) and sometimes I don't. I haven't found the pattern but it's tripped me up several times.

Xcode 6 OS X Submission Error: iOS Apps must have a provisioning profile

I'm having the worst time ever submitting an update to my Mac app. Everything was fine until I updated to Xcode 6. I'm in Mavericks, 10.9.4. I get the following error:
iTunes Store operation failed.
Unable to process application at this time due to the following error: iOS Apps must have a provisioning profile.
I have no idea why it says "iOS." Don't know if that's an Xcode bug or it thinks I'm making an iOS app. I used the same Xcode project file to submit the Mac app in the previous Xcode.
I have tried the following with no results:
• Revoked and deleted all certificates and provisioning profiles and started over.
• I created all certificates, provisioning profiles manually rather than Xcode managing them.
• Set the provisioning profile in "release" in the target and in a different occasion, in the project file.
• Gone into the project info and created a separate configuration.
The only "weird" thing I would say that I could be doing insanely obviously wrong is when I look at the options for code singing identity for release, it says "Mac Developer:yata" but there is no option for "Mac Distribution:(myname)" Should there be? I didn't need that in the past. Also, the only options that I can select are in a section called "identities in keychain." Should there be another section? "Identities in Xcode?"
Thank you for anyone that can help. I'll try pretty much anything at this point.
Solution for my case:
I got error in validation stage.
On organizer we see:
1) Go to Apple download page and download xCode 5.1.1
2) Double click on xcode_5.1.1.dmg
3) Copy xCode.app to Desktop
4) Rename xCode.app -> xCode511.app
5) Move xCode511.app -> Applications
6) Close xCode 6.1
7) Work with validation and upload in xCode511.app
UPDATED
8) Be careful ! ITC.apps.validation.prerelease_build_missing
I don't have Xcode right now, but here are the steps:
Delete your certificate and provisioning, both your mac and iTunes account
Regenerate the certificates and provisioning profile (distribution)
Download double click
Go to the account tab, then view account
All certificates and profiles will be listed refresh the stuff there
Clean and rebuild your app with the right provision and 3 party Mac developer
archive, validate and submit (select the right provison and match the app)
voila!
EDIT
Everything you will ever need to know :
https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
I was having the same problem... finally I click on Submit and it worked! It seems that the problem is on Validate only.
Okay so our problem was that our company name had an apostrophe in it ---- could have the same issue if you have quotes in your company name as well. I contacted Apple for them to change it and then uploading worked from Xcode 5.1.1.

Invalid Provisioning Profile Location: Xcode 6 embeds it on submission

I upgraded last night to Xcode 6 GM. So I have an mac app which includes an helper app. I know that there should be only one provisioning profile in the package so I excluded it on the helper app.
If I look in the .xarchive of the product it is clean from profiles (There is only one or none profile - tried both)
But for me it somehow appears that Xcode 6 GM is including the profile when you hit submit via the organizer.
As you can see it adds the provisioning profile to both binaries (red rect) in the package and there is no way to avoid it.
I'm including the helper app via a Copy Ressource Build Phase to: "Contents/Library/LoginItems"
What am I doing wrong? Is this a Xcode issue or is my configuration not right?
Okay, here's a temporary solution that's far from ideal, but for now it works (unless you're on Yosemite, I'm guessing).
Rename XCode 6's XCode.app to something like XCode6.app
Download XCode 5 from the App Store (downloads as XCode.app in /Applications)
Open XCode 6, make SURE that you're NOT code signing the Helper app, then Archive the build and close XCode 6
Open XCode 5, open Organizer and proceed to Submit to Apple as usual
Profit!
Note: While this works, I really hope Apple fixes whatever's breaking XCode 6, as this process will most likely break with Yosemite.
EDIT: Submitted a bug report to Apple (rdar://18318295)
This issue (is) seems to be fixed with Xcode 6.01
It doesn't embed an profile in the corresponding helper app:
This seems to solve the problem

Resources