13

In Xcode 4's Build Settings, there are 2 places to enter a provisioning profile for each build type. The first is "Ad Hoc", "Debug" and "Release". Each of these has another place to put in a provisioning profile called "Any iOS SDK". Do I need fill in both? What's the difference between these?

enter image description here

nevan king
  • 112,709
  • 45
  • 203
  • 241

3 Answers3

6

I believe they are an artifact with Xcode's versions.

Delete them by editing your Xcode project. It duplicates the amount of work if they differ in my experience. I've had to change both to the same profile, otherwise the build fails.

Xcode will regenerate the project settings and you'll only have your debug, release, and adhoc.

Guide on Any iOS SDK cleanup

Delete these lines to get rid of Any iOS SDK Remove the lines highlighted above in the Xcode project file.

No Any iOS SDK artifacts Now there's half as many settings to change.

Paul Solt
  • 8,375
  • 5
  • 41
  • 46
2

The XCode build tools use the most specific relevant setting, so if you've set the "Any IOS SDK" value under Debug, you don't need to set the Debug setting, and so on.

That interface is (or was) there, I believe, to make it evident that there are ways to customize your provisioning profile for specific SDKs. If the only option was "Any IOS SDK", it would be redundant to the line above.

On the other hand, having a non-generic default would also likely confuse users, who would be posting on Stack Exchange, asking "Why are there lines for both Ad Hoc and IOS 4.2 SDK?"

Seamus Campbell
  • 17,816
  • 3
  • 52
  • 60
-2

Ad Hoc, Debug and Release are Configurations. You have three because every time you need different provisioning profile (iPhone Developer, iPhone Distribution etc). When you build you choose which configuration to use.

Dimitar Marinov
  • 922
  • 6
  • 14