0

I'm not really sure where my problem is but the scenario is as follows. I have a universal app set to a deployment target of 3.2 and Base SDK iOS 5.0. The project was created in Xcode 4.2.

I have set my Architectures to include both armv6 and armv7 for "Debug" and "Release"

"Build Active Architecture Only" is set to "No"

While developing my app, I encountered a strange bug where my x and y values would not output correctly on older devices (y would always equal to x).

Once I removed "Required device capabilities" from my "Info.plist" the issue had gone away.

However, it appears that when I actually Archive my app for distribution, the issue is still there! How can this be explained? What else can I check?

sch
  • 27,436
  • 3
  • 68
  • 83
anna
  • 2,723
  • 4
  • 28
  • 37
  • In **Once I removed "Required device capabilities" from my "Info.plist"** you mean you removed armv7? Could you really test your app on armv6 devices before removing required device capabilities? – sch Feb 16 '12 at 02:41
  • I don't know but the app started working on my old iPod once I did that. – anna Feb 16 '12 at 02:42
  • Ok. This is what I expected. But I still don't understand the chronology of events. How can this **I encountered a strange bug where my x and y values would not output correctly on older devices** happen before you remove device capabilies? You can not test on old devices. – sch Feb 16 '12 at 02:49
  • Oh right. I couldn't run the app directly from XCode. But there's a workaround via iPhone Configuration Utility. That let me install the app, so I saw the bug. – anna Feb 16 '12 at 02:53
  • Ok :) and how do you test the app on old devices after archiving it? – sch Feb 16 '12 at 03:01
  • Forget about my previous comment. Does the solution I posted work for you? – sch Feb 16 '12 at 03:12

2 Answers2

1

See this answer to a previous question. In the comments, someone suggests a solution.

Disabling build for Thumb on armv6 prevents these kinds of errors.

Community
  • 1
  • 1
sch
  • 27,436
  • 3
  • 68
  • 83
1

The solution was rightly pointed out by @sch. Here are the exact steps:

  • Go to "Build Settings"

  • Scroll down to "Apple LLVM compiler 3.0 - Language"

  • Find "Other C Flags", select "Release" row

  • Double-click on the cell in the second column from the right

  • Click on "+" and write "-mno-thumb"

anna
  • 2,723
  • 4
  • 28
  • 37
  • Eventually I'll be able to but the system puts in a delay for this kind of scenario. I have to wait a certain amount of time. – anna Feb 17 '12 at 18:18