I've finished developing my app. It's been building and running on an iPad without a problem for months. Now that it's time to upload to the App Store, in XCode I go up into the Product menu and select Archive. The app archives but instead of archiving as an iOS App, it archives as a Generic XCode Archive, which cannot be submitted to the App Store.
I'm posting this here, because after snooping around a bit, I've learned that this can sometimes be caused by libraries and frameworks associated with the project. I'm curious if any of you JUCERs have ever encountered this issue?
For anyone else that ever experiences this - I had a Copy Files build phase that was copying a group of files between folders on my Mac, before moving onto the rest of the build phases. I removed this, and now XCode correctly archives it as an iOS App.
I need some help cause I’m facing the exact same issue. I have both pre and post build scripts that copy image resources inside my app and my AUv3 app extension.
When using Xcode-9.4.1 the app archives correctly as an iOS App. When using Xcode 10.0 though, it’s been archived as a Generic XCode Archive, which as you said above cannot be submitted to the App Store Connect.
The difference between the two archives (Xcode 9.4.1 vs 10.0) is that the wrong one of Xcode 10.0 contains JUCE’s static library of my plugin’s shared code, libMyApp.a.
Any suggestions on how I can fix this with Xcode 10.0? As far as I’m concerned, I have to use Xcode 10.0 in order for my app to be able to run in iOS 12 iDevices - right?
Funny, I just ran into this issue again the other day. In my case the solution was:
For each target EXCEPT the main app target, go into Build Settings and set Skip Install to YES, and then make sure the main app target is set to NO. In my case the other targets were All, Shared Code, and AUv3 App Extension.
I just created a new static JUCE library
and had to set SkipInstall=YES manually
Also, in order to not get bitten by that long linker error that complains about mixed debug and release builds I had to do this before including the JuceHeader.h: