Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

iOS 4.3 App Rejected

Discussion in 'iOS and tvOS' started by glenwn, Mar 24, 2011.

  1. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    My app was just approved with Xcode 3.2.5 + iOs SDK 4.2. For my next release I'm going to use the -all_load trick. Mostly because I just find XCode 4 a little nicer in some ways.
     
  2. fredlord

    fredlord

    Joined:
    Nov 5, 2010
    Posts:
    5
    My app was rejected 2 times (one without the -all_load and one with the -all_load trick)

    I´m with Xcode 4 + iOs SDK 4.3 (and as i said, tried with and without the -all_load)

    They said:

    We found that your app failed to launch on iPad 2 running iOS 4.3.3, on both Wi-Fi and cellular networks.

    We encountered the issue when selecting the application on the Home screen - the app displayed a launch image then quit unexpectedly. This may be because iOS 4 uses a watchdog timer for applications; if an application takes too long to complete its initial startup, the operating system terminates the application.


    But i´ve never experienced any of these errors, (tested on iPad1 and iPad2, both running 4.3.3)

    Im downgrading to 3.2.5 right now, just to try something (if that fails too i´l try 3.2.6 with the all_load trick)

    What do you suggest?
     
  3. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    Try loading a blank scene (that only shows an image and loads your first real scene) to cut down the time it stays on the splash screen?
     
  4. fredlord

    fredlord

    Joined:
    Nov 5, 2010
    Posts:
    5
    Problem is, i´ve Never experienced any of these problems! That´s what Apple said to me! That just happens in their device...

    Here the splash screen only stays for a second (maybe two) and my scene loads normally (both iPad1 and 2)


    Or are you suggesting that i change my "first scene" to an "almost blank" new scene, that calls my REAL scene some time later,? (just realized that now...)...I see what you mean. I could try that too, but i´ll try to downgrade to 3.2.5 first.. ´cause if the error is cause by a bug with the Xcode4 version+Unity or something like that, i don´t know if it will solve my problem. But thanks for the idea, i´ll try that if they reject my game even with Xcode 3.2.5
     
  5. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    The almost blank scene would call your real scene instantly (but it would show that almost blank scene until the new one finished loading)

    But I think 20 seconds is when it auto-quits, so if you're not close to that... I don't know what the problem is.
     
  6. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Hi,

    please submit your application's distribution zip (the one with -all_load flag) as bug report ASAP. We will try to investigate why that happened. If Apple attached crash reports please send them too.

    Btw, how have you made the distribution build from Xcode 4? Do you hit Product->Build or Product->Build For->Build for archiving?

    Thanks!

     
  7. fredlord

    fredlord

    Joined:
    Nov 5, 2010
    Posts:
    5
    Hi! i´ll provide the app distribution zip and all the crash reports from Apple as soon as possible.

    I´ve made the distribution build by hitting Product->Build only, as i´ve always done in other Xcode versions.. Could it be that this is my problem? I´ve never used Xcode4 for submitting my apps before (and never got an Apple´s denial too).

    PS: I´ve already downgraded to 3.2.5 and resent my app to Apple, but i´ll still provide all the info for you.

    Thanks.
     
  8. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    My "-all_load" flag setup instructions cover only "release" configuration, which is expected to be used for final distribution build. Unfortunately Xcode 4 Product->Build by default builds "debug" configuration.
     
  9. fredlord

    fredlord

    Joined:
    Nov 5, 2010
    Posts:
    5
    I see... So i guess that this was my problem. Noted down... Thanks for your answers!!

    PS: Apple approved our game with Xcode 3.2.5 + iOs SDK 4.2 ( "TANGRAM 3D" 's the name BTW :) for iPad 1 and 2)
     
  10. nocanwin

    nocanwin

    Joined:
    May 7, 2009
    Posts:
    176
    success with XCode 4 and -all_load!
     
  11. JGeorge

    JGeorge

    Joined:
    Dec 14, 2010
    Posts:
    30
    So, If I build using Product > Build Only, and then in XCode set up a release config, will that work?
     
  12. danielsonchris

    danielsonchris

    Joined:
    Feb 12, 2011
    Posts:
    43
    Per an earlier post in this thread, you'll want to make sure that you have set the -all_load flag properly as well. Build Only in release mode should be adequate.

    http://developer.apple.com/library/mac/#qa/qa1490/_index.html
     
  13. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    If you modify Run scheme to use release config then it should work. "Build for archiving" still might be a better choice.
     
  14. drjest

    drjest

    Joined:
    Feb 10, 2009
    Posts:
    44
    Looking into the future, I have a roadblock due to -all_load. If I set -all_load now, I get duplicate symbols errors for alder32 between Unity and my ad mediation network. Revving the library requires me to use xcode 4. Is -all_load going to go from a stopgap fix to being required?

    My current issue in depth:
    No all_load, xcode 3.2.5 + 4.2 SDK, current mediationlib.a = Appstore approval.
    Yes all_load, xcode 4 + 4.3 SDK, current mediationlib.a = won't link due to duplicate symbols.
    Current Live App running on iOS 5 shows no ads due to an out of date mediationlib. Must rev the ad library to get ads for my freemium app.
     
  15. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Please submit your sample project as bug report and we will try to help you.
     
  16. EvilDingo

    EvilDingo

    Joined:
    May 7, 2011
    Posts:
    190
    Submitting my app using the latest SDK and Xcode 4 and it was rejected. I found this thread and tried -all_load. It was just rejected again. It's been running without issue in the Android app store for a month now. Of course it runs on every hardware device I throw at it. iPhone 4, iPhone 3GS, iPad: they all run fine. No idea what to do now.
     
  17. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    @EvilDingo - yikes! I have 2 apps waiting for review, using latest SDK with Xcode 4, using -all_load. (keeps fingers crossed)
     
  18. EvilDingo

    EvilDingo

    Joined:
    May 7, 2011
    Posts:
    190
    I was optimistic but annoyed when I found this thread. This is a big problem and it's on-going! I should have known there was this problem before I bought Pro.

    This is my first app for iOS so I'm very keen to see how it compares with the typically apathetic Android market.

    Good luck with your submissions.

    EDIT: -facepalm- I added -all_load to my release build, but not my distribution build. I'll let you know in another week if my app gets approved this time. :/
     
    Last edited: Jun 14, 2011
  19. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    Whoa! Same here. Like just a moment ago. Are they doing robo-approvals or something now?
     
  20. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    Yeah I submitted mine on Saturday! it was just an update 2.0 -> 2.01
     
  21. DanjelRicci

    DanjelRicci

    Joined:
    Mar 8, 2010
    Posts:
    308
    I'm not yet ready to submit my App to the AppStore, but I want to be sure that, when I will submit it, Apple has a bigger chance to approve it just as you guys are experiencing recently.

    Actually I use Xcode 3.2.5, iOS SDK 4.2 and Unity 3.2. Will it work?
    Eventually I would like to update everything to the most recent version, wich should be Xcode 4.0.2, iOS SDK 4.3, Unity 3.3. Will it be OK for publishing?

    One last thing, how and where do you add this -all_load tag?

    Thanks for your help. :)
     
    Last edited: Jun 15, 2011
  22. J_P_

    J_P_

    Joined:
    Jan 9, 2010
    Posts:
    1,027
    Wish the speedy approval applied to everyone =/

    5 days still waiting for review

    edit: approved :)
     
    Last edited: Jun 16, 2011
  23. Soulblazer

    Soulblazer

    Joined:
    Jun 7, 2011
    Posts:
    10
    I dont know if this thread has already gotten answered or not but i spoke to the unity people and got the fix for 4.3 it is very easy you need to load your game or app in to xcode and go into the properties and look for Flags and in there i Delete the Flag that looks somewhat lik (-W -s -L) or something like that and i put in this FLAG -load_all and my Games work everytime
     
  24. spinaljack

    spinaljack

    Joined:
    Mar 18, 2010
    Posts:
    992
    Last edited: Jun 15, 2011
  25. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
  26. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    I don't think that's quite correct! Check the Unity blog post from today. It's got concise instructions and screen shots.
     
  27. Paradoks

    Paradoks

    Joined:
    Oct 13, 2009
    Posts:
    436
    hi guys,

    got a little probleme about the "putting the flag thing" as i did a "distribution" configuration so in Target>unity-iphone>other Linker flag:

    in my distribution line i got the "-Wl, -S, -x" so i click on the + and add the "-all load" right ? i then got the two line ?
    i dont remove the first right ?

    then, i did product>archive instead of product>build For> build for archiving.
    what is the difference ?

    thank you
     
  28. EvilDingo

    EvilDingo

    Joined:
    May 7, 2011
    Posts:
    190
    Approved!

    Paradocks, that's what I did. I didn't replace the existing flags. Just added a line. Make sure it's on your distribution build.
     
  29. Paradoks

    Paradoks

    Joined:
    Oct 13, 2009
    Posts:
    436
    got rejected, i put the flag under the "-Wl, -S, -x", but what should i put at the left side of it ? for now i got "ARMv6 architecture" wich i can not change... could it be that the problem ?
     
  30. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    If you are using Xcode 4.x and didn't made "Build For Archiving" then most likely you submitted debug build which does not include -all_load flag.
     
  31. Paradoks

    Paradoks

    Joined:
    Oct 13, 2009
    Posts:
    436
    Hi Mantasp,

    here is what i did:
    -removed the "all flag" line
    - cleaned the target
    - added the all flag line with "any SDK, any architecture" left of it.
    - cleaned the target ( again)
    - made build for> build for archiving
    - archive

    then resubmitted.
    about the archive thing, i clicked on archive because "build for> build for archive" don't show me the app in the organizer, is that wrong ?
     
  32. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    "archive" step after "build for archiving" is OK and actually expected. It just signs and compresses what was built in previous step.
     
  33. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    In Unity 3.4, this -all_load workaround will be no longer necessary, correct?
     
  34. benni05

    benni05

    Joined:
    Mar 17, 2011
    Posts:
    58
    Just got approved our app which had been rejected before without the -all_load flag. Combination of XCode 4 + iOS SDK 4.3 works fine now.

    Thanks for the help
    Ben
     
    Last edited: Jun 24, 2011
  35. squishydonut

    squishydonut

    Joined:
    Nov 6, 2010
    Posts:
    19
    So updating everything to newest and you're good to go now?
     
  36. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Unity 3.4 will include -all_load by default, so no manual changes will be required.
     
  37. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
  38. gambit

    gambit

    Joined:
    Dec 26, 2010
    Posts:
    57
    Just curious do you have any clue when the 3.4 upgrade will be coming out?
     
  39. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Soon, now it is in RC phase.
     
  40. Goody!

    Goody!

    Joined:
    Sep 11, 2009
    Posts:
    100
    [Solved] make sure there isn't a space after the last value and "-all_load"

    After making these changes I cannot create an Archive in xcode4. If I include the linker it breaks, if not it builds fine. This is the error:

    Ld build/BabyBubblez.app/BabyBubblez normal armv6
    cd /Users/stevegoodale/Desktop/BabyBubblezApp
    setenv IPHONEOS_DEPLOYMENT_TARGET 3.1.2
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L/Users/stevegoodale/Desktop/BabyBubblezApp/build -L/Users/stevegoodale/Dropbox/files/BB_Build/BabyBubblez/Assets/Editor/GameCenter -L/Users/stevegoodale/Desktop/BabyBubblezApp -L/Users/stevegoodale/Desktop/BabyBubblezApp/Libraries -F/Users/stevegoodale/Desktop/BabyBubblezApp/build -filelist /Users/stevegoodale/Desktop/BabyBubblezApp/build/BabyBubblez!.build/Release-iphoneos/BabyBubblez!.build/Objects-normal/armv6/BabyBubblez.LinkFileList -dead_strip -Wl,-S,-x, -all_load -miphoneos-version-min=3.1.2 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -liconv.2 -liPhone-lib -framework AudioToolbox -framework CFNetwork -framework MediaPlayer -framework CoreLocation -framework SystemConfiguration -framework CoreGraphics -weak_framework GameKit -framework AVFoundation -lP31MonoBridge -o /Users/stevegoodale/Desktop/BabyBubblezApp/build/BabyBubblez.app/BabyBubblez

    ld: file not found:
    collect2: ld returned 1 exit status
    Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 failed with exit code 1

    Attached is what I've set it to. Is this correct?
     

    Attached Files:

    Last edited: Jun 29, 2011
  41. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    I guess you added it incorrectly. Have you clicked on "+" button when adding it? It should be added as separate flag, not appended to the existing one.
     
  42. petero181

    petero181

    Joined:
    Feb 23, 2011
    Posts:
    104
    guys, I don't know this is the right thread ... my apps has been rejected by apple. below this is the problem :



    please point me the right direction where is the problem ... is it because i use "PlayerPrefs" ?

    thanks
     
  43. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    @petero No it's not related to using PlayerPrefs. I was just rejected on Mac OS App Store for the same reason: using the Player log ~/Library/Logs/Unity
    It sucks because they never rejected me before for that, in several versions of my game. I unchecked "Use Player Log" in the Player Settings in Unity, and resubmitted my app. That causes the app to not write to the Unity player logfile on Mac. Still waiting for review. If this doesn't pass it I don't know what I'll do. I'm actually not sure what logfile it's using now but it shows up in the Console.app, but not in the Unity/Player.log.
     
    Last edited: Jul 14, 2011
  44. petero181

    petero181

    Joined:
    Feb 23, 2011
    Posts:
    104
    @mindlube : I see ... I just check my apps too ... and the "Use Player Log" in my setting are checked.



    Let me know when you pass the review ... and thanks for your quick respond
     
  45. petero181

    petero181

    Joined:
    Feb 23, 2011
    Posts:
    104
    @mindlube : my apps has been approved by apple ... how about yours
     
  46. mindlube

    mindlube

    Joined:
    Oct 3, 2008
    Posts:
    993
    @petero, yes just got approved too. On days when Apple's review process seems like an uber pain in the ass, it's good to remember:

    - sometimes they catch things you missed during testing and QA, and you are glad they caught it. this isn't one of those cases ;)

    - it's better than NO REVIEW, which is like on Android, and the market is filled with spam and malware.
     
  47. Deleted User

    Deleted User

    Guest

    Apps Approved! :)

    1 App for iPhone and 1 App for iPad compiled with Unity 3.3 + Xcode 3.2.5, iOS SDK 4.2.

    Around two weeks for the reviews.
     
    Last edited by a moderator: Jul 22, 2011
  48. crushforth

    crushforth

    Joined:
    Jul 22, 2010
    Posts:
    113
    Hi,

    We launched our app last week and a fairly large number of people in the comments are reporting crashes on startup. During development we've tested the app on pretty much every device type and it has been very very stable. We've had almost no crashes at all they weren't due to low memory. And since these crashes are occurring on startup I'm sure they aren't memory related.

    I've been sent a load of crash logs from our publisher. They all seem to be related to the FMOD::SystemI::createChannelGroupInternal(char const*, FMOD::ChannelGroupI**, bool, bool) crashes mentioned earlier in the thread.

    The app was build with Xcode v4.0 and IOS 4.3 (probably not the latest version, I've had this for a while) and because we used Chillingo's Crystal SDK we already had the -all_load linker flag.

    Basically I need to get this fixed asap as the app is already live and were getting more and more crash comments from our customers.

    Would anyone recommend downgrading to the previous Xcode and compiling for IOS 4.2 and would this be totally pointless given that were using the -all_load flag.

    I used the 'fast but no exceptions' option and it looks like an exception was generated in one of the crash logs.

    Any tips or advice would be greatly appreciated.

    Heres a few entries from the crash logs:


    Code (csharp):
    1. Incident Identifier: F42515C3-484E-4E69-9369-4B407CF61375
    2. Hardware Model:      iPhone3,1
    3. Process:         jetsetgo [1878]
    4. Path:            /var/mobile/Applications/434A4E6B-EAAF-4206-A387-799765B4BEF1/jetsetgo.app/jetsetgo
    5. Identifier:      jetsetgo
    6. Version:         ??? (???)
    7. Code Type:       ARM (Native)
    8. Parent Process:  launchd [1]
    9.  
    10. Date/Time:       2011-07-23 15:25:13.924 +0400
    11. OS Version:      iPhone OS 5.0 (9A5259f)
    12. Report Version:  104
    13.  
    14. Exception Type:  EXC_CRASH (SIGABRT)
    15. Exception Codes: 0x00000000, 0x00000000
    16. Crashed Thread:  0
    17.  
    18. Last Exception Backtrace:
    19. (
    20.         0   0x324d7b73 __exceptionPreprocess
    21.         1   0x3452b331 objc_exception_throw
    22.         2   0x324dafcb
    23.         3   0x324d9cf9 ___forwarding___
    24.         4   0x32458d70 _CF_forwarding_prep_0
    25.         5   0x0118ce0b start + 18386523
    26.         6   0x3559b293 -[UITextField _becomeFirstResponder]
    27.         7   0x354dde19 -[UIResponder becomeFirstResponder]
    28.         8   0x3559aeb7 -[UITextInteractionAssistant setFirstResponderIfNecessary]
    29.         9   0x3559a7cd -[UITextInteractionAssistant oneFingerTap:]
    30.         10  0x357523cf _UIGestureRecognizerSendActions
    31.         11  0x35558b99 -[UIGestureRecognizer _updateGestureWithEvent:]
    32.         12  0x35751de5 ___UIGestureRecognizerUpdateObserver_block_invoke_0120
    33.         13  0x35751d79 _UIGestureRecognizerApplyBlocksToArray
    34.         14  0x354dc4d9 _UIGestureRecognizerUpdateObserver
    35.         15  0x354edba7 _UIGestureRecognizerUpdateGesturesFromSendEvent
    36.         16  0x354ed9fd -[UIWindow _sendGesturesForEvent:]
    37.         17  0x354ed5ed -[UIWindow sendEvent:]
    38.         18  0x354c4241 -[UIApplication sendEvent:]
    39.         19  0x354c3c91 _UIApplicationHandleEvent
    40.         20  0x302f8f4b PurpleEventCallback
    41.         21  0x324a6db3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
    42.         22  0x324a6d55 __CFRunLoopDoSource1
    43.         23  0x324a597b __CFRunLoopRun + 1375
    44.         24  0x3244648f CFRunLoopRunSpecific
    45.         25  0x32446355 CFRunLoopRunInMode
    46.         26  0x302f8125 GSEventRunModal
    47.         27  0x354bef6f UIApplicationMain
    48.         28  0x00005558 start + 5544
    49.         29  0x00003fd8 start + 40
    50. )
    51.  
    52.  
    53. Thread 0 name:  Dispatch queue: com.apple.main-thread
    54. Thread 0 Crashed:
    55. 0   libsystem_kernel.dylib          0x334f5cc0 __pthread_kill + 8
    56. 1   libsystem_c.dylib               0x375ab2a0 pthread_kill
    57. 2   libsystem_c.dylib               0x375a0bb0 abort
    58. 3   jetsetgo                        0x01532030 FMOD::SystemI::createChannelGroupInternal(char const*, FMOD::ChannelGroupI**, bool, bool) + 1464024
    59. 4   jetsetgo                        0x01546ee4 FMOD::SystemI::createChannelGroupInternal(char const*, FMOD::ChannelGroupI**, bool, bool) + 1549708
    60. 5   libsystem_c.dylib               0x375b743a _sigtramp
    61. 6   libsystem_c.dylib               0x375ab2a0 pthread_kill
    62. 7   libsystem_c.dylib               0x375a0bb0 abort
    63. 8   libc++abi.dylib                 0x312a7f64 abort_message
    64. 9   libc++abi.dylib                 0x312a530e default_terminate()
    65. 10  libobjc.A.dylib                 0x3452b428 _objc_terminate
    66. 11  libc++abi.dylib                 0x312a5388 safe_handler_caller(void
    67. 12  libc++abi.dylib                 0x312a5416 std::terminate()
    68. 13  libc++abi.dylib                 0x312a680a __cxa_rethrow
    69. 14  libobjc.A.dylib                 0x3452b37a objc_exception_rethrow
    70. 15  CoreFoundation                  0x324464f0 CFRunLoopRunSpecific
    71. 16  CoreFoundation                  0x3244634e CFRunLoopRunInMode
    72. 17  GraphicsServices                0x302f811e GSEventRunModal
    73. 18  UIKit                           0x354bef68 UIApplicationMain
    74. 19  jetsetgo                        0x00005550 start + 5536
    75. 20  jetsetgo                        0x00003fd0 start + 32
    76.  

    Anyone seen this issue before?

    Thanks again.
     
    Last edited: Jul 25, 2011
  49. bpritchard

    bpritchard

    Joined:
    Jan 29, 2009
    Posts:
    444
    not sure it matters anymore but we had our app approved first time through using Xcode 3.2.6 and SDK 4.3, Unity 3.3 for both iPhone/iTouch and iPad.
     
  50. gads

    gads

    Joined:
    Oct 10, 2008
    Posts:
    34
    Hi everyone!

    I've installed Unity 3.4 recently and built my project for iOS devices.

    The first thing I notice is that the flag -all_load wasn't set by default and the second is that Apple is rejecting my submission because of an app crash even the right configuration in place as suggested here.

    Before upgrading Unity the application had been accepted. But now I'm unable to do it.

    This is happening to any of you?
    Any suggestion?
    I'm starting to be in agony... :(

    Thank you very much.