Should WatchKit applications have a deployment target set to iOS 8.2 (was 8.3)?

I just downloaded Xcode 6.3 beta 4, and my WatchKit application now cannot build with an error:

Embedded Binary Validation Utility Error error: WatchKit apps must have a deployment target equal to iOS 8.2 (was 8.3) 

The iOS application and the project actually have a 7.1 deployment goal and always have, but we worked with the iOS 8.3 SDK for our WatchKit component (using Swift 1.2) without problems using Xcode 6.3 beta 1, 2 and 3. This error occurred only when using Xcode 6.3 beta 4.

Does anyone else have this error and know how to fix it?

+64
ios watchkit apple-watch
Mar 24 '15 at 20:17
source share
7 answers

Select your project settings and go to "GOALS". Click on the Watch Kit app, select "Build Settings". For the key "goal of deploying iOS," you should find "iOS 8.3." For some reason, Xcode 6.3 Beta 4 wants to have this on "iOS 8.2" for "Debug" and "Release." Now your project should be built as expected.

This is still true for XCODE 6.3!

+99
Apr 13 '15 at 7:46
source share

Target -> "appName" Watch Kit App -> Deployment Search -> change iOS deployment target on iOS 8.2 -> run enter image description here

+38
Apr 25 '15 at 13:41
source share

Go inside yourself. Looks like an error in Xcode 6.3 beta 4.

I analyzed the project.pbxproj file (in text form) of the newly created project with the WatchKit extension. There seems to be a setup:

 IPHONEOS_DEPLOYMENT_TARGET = 8.2; 

... which is absent in our projects created with earlier versions of Xcode.

So, I manually copied this parameter in the Debug and Release configuration of my project. This error has disappeared.

Then I got another version mismatch error between my application and the target WatchKit application. Correcting the inconsistency of this version allowed the assembly to compile clean and work fine.

I know this is a bit of hacks, but I guess it is relatively safe.

When searching in the project.pbxproj file, you need to match this search query: "_WatchKit_Extension" . This should define the area next to the new instruction.

Discussion topic in Apple forums:

https://devforums.apple.com/thread/266033?tstart=0

Excerpt from the new project:

 4F9F32751AC2024F00673D86 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); IBSC_MODULE = Bogus_WatchKit_Extension; INFOPLIST_FILE = "Bogus WatchKit App/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 8.2; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; "TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]" = "1,4"; }; name = Debug; }; 4F9F32761AC2024F00673D86 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; IBSC_MODULE = Bogus_WatchKit_Extension; INFOPLIST_FILE = "Bogus WatchKit App/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 8.2; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; "TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]" = "1,4"; }; name = Release; }; 
+16
Mar 25 '15 at 7:36
source share

Surprisingly still true in 6.4; -)

All goals should be set in 8.2.

+2
Jul 10 '15 at 2:46
source share

I ran into the same problem " iOS Deployment Target '8.3' is newer thatn SDK 'iOS 8.2' in target YUOR_PROJECT WatchKit Extension "

Here is a simple solution to this problem. You can change the target from .xcodeproj, just follow these steps:

  • Make any changes to your project or plist file (change Build / version),
  • Select the modified project file
  • Find "8.3" (Command + F) and replace it with 8.2.
  • I have attached the file for reference.

What is it.

This will help you if you have the same problem as mine.

enter image description here

+1
Apr 6 '15 at 8:59
source share

Go to Target -> Select Watch Kit App. If you change the deployment value from 8.3 to

//: configuration = Debug IPHONEOS_DEPLOYMENT_TARGET = 8.2

//: configuration = Release IPHONEOS_DEPLOYMENT_TARGET = 8.2

Clean and build. The problem is solved!

0
Apr 13 '15 at 15:44
source share

Experienced the same problem in the simulator with Xcode 7.3.1 and can solve it by watching the application, and then go to the item "Monitoring the deployment of the OS", there you can choose a lower version based on your watch. Hope this helps.

0
Jun 26 '16 at 8:10
source share



All Articles