Game Development Community

App Submission Newb with Questions & 1.2 Compile probs

by Jason Oda · in iTorque 2D · 06/19/2009 (12:34 pm) · 22 replies

I'm getting ready to submit my first game to the apple store. Since I've upgraded to ITB 1.2, I have a few worries, because as you can imagine, not everything has gone smoothly. If anyone can help me with some of these 1.2 problems I'd really appreciate it.

With 3.0, I can only successfully compile with my Xcode settings on Debug and the iTGB (the first of the four options given of iTGB, iTGB_Optimize, iTGB_Script, iTGB_Script_Optimize)

Here's what I get otherwise:

Debug & the other 3 options: No compile errors, blank screen that never goes anywhere

Release & iTGB Option: The Famous "Michael Perry" Error:
"Code Sign error: "The identity 'iPhone Developer: Michael Perry' doesn't match any valid certificate/private key pair in the default keychain"

Release & 3 Options: "Code Sign error: Provisioning profile '58B339CA-8BC5-4401-9C31-F7B7C8CDFA3D' can't be found"

Question: Can I submit my final game to them with iTGB & Debug as my option? Will they care? Also, am I missing out on something by not using these other methods? Will the game run better? How can I fix these problems if it's worth looking into?

Do I need to mess around with some stuff on the build options to get this stuff right?

I'm more of an art guy than a programmer so please spell things out in an idiot proof way if possible...

Are there any tips anyone who's submitted can give to me?

Thank you very much.
Jason
Page «Previous 1 2
#1
06/19/2009 (1:01 pm)
In the target options (right-click target->"Get Info") change the following:
Code Signing Identity-> Any iPhone OS Device
to iPhone Developer, instead of Michael Perry. This should find whatever iPhone Developer you have on your machine.


If your game runs fine on Release iTGB, use that, the others have optimizations that help, but if you're satisfied without them, you don't need them.
#2
06/19/2009 (1:15 pm)
Awesome, got that one to work. Thanks Mat.

If I try this fix on the other 3 (with release) I get:

library not found for -lstdc++-static
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Anybody understand what that means?

jason
#3
06/19/2009 (1:48 pm)
It means that you are linking to the static version of the Standard C++ library, change Linking->C++ Standard Library Type" to Dynamic.
#4
06/19/2009 (2:08 pm)
Thanks again mat, but I get the famous 1.2 screen of blankness when I do that. Any Ideas?
#5
06/19/2009 (2:32 pm)
You mean just a white screen? What does your GDB output say?
#6
06/19/2009 (2:56 pm)
No, It's black. Where is my GDB output? Sorry I'm such a newb...
#7
06/19/2009 (2:59 pm)
switch to the debug mode in xcode
#8
06/19/2009 (3:35 pm)
i get this in the debugger (this is the same as "GDB" right?)

0x2fe01028 <+0000> ldr r3, [pc, #40] ; 0x2fe01058 <__dyld__dyld_start+48>
0x2fe0102c <+0004> sub r0, pc, #8 ; 0x8
0x2fe01030 <+0008> ldr r3, [r0, r3]
0x2fe01034 <+0012> sub r3, r0, r3
0x2fe01038 <+0016> ldr r0, [sp]
0x2fe0103c <+0020> ldr r1, [sp, #4]
0x2fe01040 <+0024> add r2, sp, #8 ; 0x8
0x2fe01044 <+0028> mov r8, sp
0x2fe01048 <+0032> bic sp, sp, #7 ; 0x7
0x2fe0104c <+0036> bl 0x2fe01584 <__dyld__ZN13dyldbootstrap5startEPK12macho_headeriPPKcl>
0x2fe01050 <+0040> add sp, r8, #4 ; 0x4
0x2fe01054 <+0044> bx r0
0x2fe01058 <+0048> andeq r6, r2, ip, ror #25
#9
06/19/2009 (3:48 pm)
No, that looks like assembly instructions, what you want it the ouput window, it should look a lot like a console.log would on Mac/PC (just make sure to call enableDebugoutput(true) in your main.cs)

It should be the pane below the one where you got that from (if you don't have one, drag the bottom bar up to show it).
#10
06/19/2009 (3:55 pm)
Sorry I'm so dumb. You mean if I click console? It's a lot of stuff in here, but it ends like this:

The Debugger has exited due to signal 15 (SIGTERM).The Debugger has exited due to signal 15 (SIGTERM).

[Session started at 2009-06-19 18:12:25 -0400.]

[Session started at 2009-06-19 18:14:40 -0400.]

[Session started at 2009-06-19 18:14:59 -0400.]

[Session started at 2009-06-19 18:30:19 -0400.]
GNU gdb 6.3.50-20050815 (Apple version gdb-1119) (Thu May 14 05:35:37 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "--host=i386-apple-darwin --target=arm-apple-darwin".tty /dev/ttys007
Loading program into debugger…
sharedlibrary apply-load-rules all
Program loaded.
target remote-mobile /tmp/.XcodeGDBRemote-55804-54
Switching to remote-macosx protocol
mem 0x1000 0x3fffffff cache
mem 0x40000000 0xffffffff none
mem 0x00000000 0x0fff none
run
Running…
[Switching to thread 10755]
[Switching to thread 10755]
(gdb) continue
Initial Command Line
0 : /var/mobile/Applications/1B68E0F5-8F64-46A6-B302-4A5DE1352F4B/MyGame2.app/MyGame2
Merged Command Line
0 : /var/mobile/Applications/1B68E0F5-8F64-46A6-B302-4A5DE1352F4B/MyGame2.app/MyGame2
performing mainInit()

Debugger stopped.
Program exited with status value:0.
[Session started at 2009-06-19 18:35:06 -0400.]
GNU gdb 6.3.50-20050815 (Apple version gdb-1119) (Thu May 14 05:35:37 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "--host=i386-apple-darwin --target=arm-apple-darwin".tty /dev/ttys000
Loading program into debugger…
sharedlibrary apply-load-rules all
Program loaded.
target remote-mobile /tmp/.XcodeGDBRemote-55804-53
Switching to remote-macosx protocol
mem 0x1000 0x3fffffff cache
mem 0x40000000 0xffffffff none
mem 0x00000000 0x0fff none
run
Running…
[Switching to thread 10755]
[Switching to thread 10755]
(gdb) continue
Initial Command Line
0 : /var/mobile/Applications/FC9E572E-CE04-4550-8F79-50F2398C2A55/MyGame3.app/MyGame3
Merged Command Line
0 : /var/mobile/Applications/FC9E572E-CE04-4550-8F79-50F2398C2A55/MyGame3.app/MyGame3
performing mainInit()

Debugger stopped.
Program exited with status value:0.
#11
06/19/2009 (4:03 pm)
Yes, that's it.

It looks like your game isn't getting past the mainInit(), which is usually because you game isn't being added to the resources properly.

Check your MyGame3.app ("Show Package Contents") and make sure that you have all your scripts and resources in there.
#12
06/22/2009 (6:28 am)
Release & 3 Options: "Code Sign error: Provisioning profile '58B339CA-8BC5-4401-9C31-F7B7C8CDFA3D' can't be found"

You should delete your provisioning profiles from the organizer and then add only the ones you actually use to the provisoning option. I had the same error because I did not understand that one part of the provisoning list was not the place to actually add it even though it took it. There is a second spot which is used and then it shows up in the first one. This sounds a little unclear but I am not in front of my mac right now to give exact details. Just poke around in the organizer, when you open provisioning there is a list. That is not the right one. I think you have to go to the one that says provisioning specifically.


library not found for -lstdc++-static
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

You should be using 2.21 (even though you may have the 3.0 sdk and GCC 4.0 not 4.2) At least this worked for me.

#13
06/22/2009 (6:44 am)
With OS 3 you can use GCC 4.2
If you try to use gcc 4.2 with OS 2.x it will bomb
#14
06/23/2009 (3:45 pm)
Still totally can't get this to work on any of the four options except for the first.

From start to finish here's the only things I've changed from the default.

I'm on OS X 10.5.7

Ad files to project. When window pops up, select second option and have all 4 options checked in window below

Go to iTGB_Script_Optimize build panel

Change:
Base SDK: Iphone Device 3.0
Code Signing Identity: iPhone Developer: Jason Oda
Any iPhone OS Device: iPhone Developer: Jason Oda
C++ Standard Library Type: Dynamic
C++ Compiler Version: 4.0
Product Name: Kitty
Preprocessor Macros: __IPHONE__ TORQUE_PLAYER TORQUE_DEBUG TORQUE_DISABLE_MEMORY_MANAGER PUAP_SCRIPT_CHANGE PUAP_OPTIMIZE USE_COMPONENTS
(added R to MANAGER)

I'm not getting any more errors on build...but now I just get a blank screen on my iPhone. Not even my iPhone Icon is registering on my iPhone. It just looks like a white square. It's getting nothing.

Any Ideas?

I know mat said:
Check your MyGame3.app ("Show Package Contents") and make sure that you have all your scripts and resources in there.

I did this and I think that the stuff that's supposed to be in there is not. Obviously this is the problem. I just don't know what to do.

Thanks
Jason
#15
06/23/2009 (4:10 pm)
Delete everything in the resource folder and re-add them, and make sure you check all the targets, as well as the second option for folders.
#16
06/23/2009 (4:11 pm)
yep did that. still nothing.
#17
06/23/2009 (5:08 pm)
ok i downloaded 1_2 all over again and started from scratch. This time I only changed the code signing identities and C++ LIbrary Type to Dynamic and I got:

iTGB_Opitimize: Launched
iTGB_Script: EXC_BAD_ACCESS
iTGB_Script_Optimize: EXC_BAD_ACCESS

I found this thread about the last one:
http://www.garagegames.com/community/forums/viewthread/91595

...but can't really make heads or tails of what EXACTLY I'm supposed to do...because I'm a noob. Step by step what am I supposed to do?

Thanks,
Jason
#18
06/23/2009 (5:50 pm)
EXC_BAD_ACCESS in iTGB_Script usually means that you have old dDSOs, just recompile your editor with PUAP_SCRIPT_CHANGE enabled, and compile your scripts using that binary and you should be OK.
#19
06/23/2009 (7:01 pm)
thanks again mat, yeah i sort of understood that from finding that thread...and this is where the noob comes in: how do i "just recompile your editor with PUAP_SCRIPT_CHANGE enabled, and compile your scripts using that binary"...I'm lost in the language.

Do I change something in my torque script somewhere? or in the build menu? or somewhere somehow else?

Thanks

Jason
#20
06/23/2009 (8:16 pm)
either project settings or in the C++ code.
Page «Previous 1 2