简体   繁体   中英

XCode 5 dependencies warning - confuses iOS deployment targets and architectures

I've searched here, read 9 answers that don't apply, validated my settings, checked them manually, cleaned, rebuilt and archived. I've also tried adding armv6 to Deployment Targets, same thing. The app runs fine on physical Iphone 4 and 5 devices, but I can't publish it...

Dependency Analysis Warning: iOS deployment targets lower than 4.3 are not supported (current IPHONEOS_DEPLOYMENT_TARGET = "4.0", ARCHS = "armv7").

(NOTE: After some thinking and testing, the basic problem is at the bottom of this question.)

Build Settings: 我的构建设置

  • Architectures: Standard (armv7, armv7s)

  • Base SDK: Latest (iOS 7.0)

  • Supported platforms: iOS

  • iOS Deployment Target: iOS 5.1

  • Targeted Device Family: iPhone

Info.plist:

info.plist

  • Iphone environment: Yes

  • no deployment target entry (which is what caused the warning in the linked answers)

But I still get the warning.

As you can see, this different from the Build Settings. I click the warning, but it doesn't tell me what could tell XCode to override the Build Settings, so I can do nothing about that.

How do I begin to fix this, where to look, what to check?

EDIT: In other words, this and this doesn't apply, since I don't build for deployment target lower than 4.3. I just need XCode to use the actual deployment target and architectures set in Build Settings.

UPDATE: So this is the issue I seem to be having: I added Required Device Capabilities armv7 (only) in the info.plist, and Apple forbids me to introduce such a requirement for apps that didn't have them (users couldn't upgrade). But then it would be nice of Apple to let me build for such users...

Unless it's just the bit about XCode not reading the targets right that prevents me from doing so.

--> So the question becomes: is there a way to force set IPHONEOS_DEPLOYMENT_TARGET to something >= 4.3?

There are couple of things you can do to see if this fixes your problem.

  1. Do a clean build XCode --> Product --> Clean

  2. Close XCode

  3. Go to your Derived data dir and remove everything from there

~Library~/Developer/Xcode/DerivedData

4- This maybe a redundant check. Though you have set your target to 5.1 check this anyways.

在此处输入图片说明

5- Launch Xcode and try your build again.

Even though I knew I hadn't typed the string IPHONEOS_DEPLOYMENT_TARGET in any of my sources, on a whim I searched for it in the project manager. Turns out that XCode does not use the settings displayed when clicking on the project in the project manager for compiling the app...

The only way I could get to the hidden setting that somehow overrode the visible setting was to click on the search result.

So, if you get this warning: iOS deployment targets lower than 4.3 are not supported , do this:

  1. Cmd+Shift+F, search for IPHONEOS_DEPLOYMENT_TARGET.

  2. Click search results with a target < iOS 5.0 (to go to the hidden Build Setting).

  3. Set them to at least 5.0.

Note: Do not add armv6 to Architectures, set it to Standard (armv7, armv7s) .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM