iOS 4.3

Hello Unity3D Team.
I updated my iPhone 4 to iOS 4.3 GM and the xCode 4.0 to 4.0 GM2.
Since Unity 3.3 i have some serious problems.

xCode compiles the game app but when i start it on my iPhone it crashes.
The iOS 4.3 beta / beta 2 / beta 3 worked so far (with Unity 3.2) but now nothing works.

Whats wrong besides that i use two GM Seeds of Software…? :face_with_spiral_eyes:

vasco ciccone-wiesner

the 4.3 GM should not be a problem.
Xcode 4 should work as well.

Did you ensure to replace your project generated by unity instead of append / automatic?

I always have the “missing SDK” issue. Installed 3.2.6 Xcode and 4.3 GM but have 4.2 set as target SDK in UNity project. get into Xcode and it won’t compile because it can’t find the 4.2 SDK any more.

right, you don’t have 4.2 sdk anymore, you only have 4.3
its always only the latest thats present, the rest can only be used as deployment target.

but if you set the base sdk in unity to 4.2 (latest) you won’t have any problems ever again

Thanks All of you. :slight_smile:
The funny thing is that i even tested with the iPhone Simulator and it works.
So i wiped my iPhone completely but no chance. My Project compiles but on the iPhone it hangs and crashes.
Interesting is that Shiva 1.9 Runs, and the UDK as well.

But my game runs on Unity so… that doesn’t help :smile:

Okay solved BUT!!
It runs with “Stripping Level” → disabled
And XCode pulls around 768 warnings out, like “Apple Mach-O Linker Warning - ARM function mono_aot_version not 4-byte aligned” etc,

I get these same warnings. Hundreds and hundreds of “byte aligned” warnings. Otherwise, yes, it seems to build fine.

Problem is the Game runs terribly slow! :-/
and its only one capsule and 4 quads in the whole test scene :wink:

that means we can make and update on my the iphone until unity make the update on the engine i was looking on the player settings an the IOS 4.3 is not there yet

After building a couple of times the warnings disappear, but the game still runs very slow.

Has anyone come up with a solution or do we have to wait for Unity to make a move?

I’ve not tested this, but want to share it as some knowledge that likely gets ignored: not sure how many did that, but if you target iOS 4.3, build for ARMV7 only
iOS 4.3 does not support ARMV6 devices at all anymore (I like most others expected this step for iOS5, not 4.3 but iPad 2 required some enhancements as its expected to run on A9 cpus with their out of order execution etc), so if you built ARMV6 only previously for build sizes reasons or whatever, try to at least build a universal binary.

Hello,

I’ve encountered a problem linked to the fact that iOS 4.3 does not support ARMV6 anymore. I’m still on Unity IPhone 1.7 and it seems that Unity libraries are built for ARMV6 on this version and am getting linking errors :

Ignoring file …/Libraries/libiPhone-lib.a, file was built for archive which is not the architecture being linked (armv7)

Ignoring file …/Libraries/libiPhoneNetwork.a, file was built for archive which is not the architecture being linked (armv7)

I suppose that newer versions of Unity IPhone are building libraries for ARMV7 too. Is there anyway without upgrading Unity to get my project running again on phone ?

ah so earlier devices dropped at the iOS level but we should still be able to use the 4.3 SDK and target 3.2 or something without problem, right?
Does Apple require that the latest SDK is always used for final build?

Normally its not required to be on the latest, its enough to be on the same major.
but so far we also never had a “break” within the same major of the iOS version so I would have to verify it on the portal first

I’m getting a ton of build errors with xCode 4 as well. Everything was building great, now it’s all broken!

I remained on 4.2 SDK
since the changes that apple has applied to it, you can also dev with 4.3 devices on 4.2, as it verifies the device online etc to reactive development.

Yup, I messed up by upgrading before unity supported it. Not sure if I can down grade. I think I still have the old sdk somewhere, I’ll have to try it tomorrow.

Ok but when Unity will give and update for IOS 4.3 that the mayor question is thursday 10 and tomorrow APPLE will release the new IOS for most new devices not only the IPAD 2 but IPHONE 4, 3gs and IPAD(first generation) how can we test our games if xcode cannot detect the new IOS on the devices, i have and IPHONE 4 and tomorrow i will not be able to update, because of the risk to ruin my game i have almost 6 month of work i don’t want to lose all the work.

  1. XCode of 4.2 SDK has no problem detecting retail 4.3 iTouch 4th gen (was released 2 days or so ago already, not tomorrow) and activating it for dev

  2. build with it logically have no problems at all.

  3. I doubt its effectively a problem of the new SDK or unity, more a side effect of 4.3+ not support ARMV6 at all anymore so unsure on what happens if you use ARMV6 only for example but luckily unity added the ARMV7 only targeting quite some time ago already

what I know is that not llvm2 is the problem, I’ve been using it since 4.2 already as it takes half and less to build the same thing and normally is faster, it must be the new linker in 4.3 or something else in the settings that xcode 4 default overwrote (I know that 3.3 worked with the prerelease xcode 4 without a problem so a normal apple “we change just for release” shit heading if you ask me that forces middleware providers to do immediate updating to prevent missinterpretations and hickups)

if my assumption on 3 is right I’m not touched at all, I stopped building to ARMV6 last year normally anyway as the performance delta is just too high and the share of the old devices has been decreasing seriously (or the new ones just sold so much faster than the old one - don’t forget 2 year contracts on 3G users ran out in the iPhone4 time so many europeans upgraded or moved away from iOS)

i will wait until next friday will make a test on the ipad 2 i don’t will take the risk of lose 6 months of work