Hi Everyone,
I have rewritten an app I sell on the app store using MonoTouch and
everything has gone well up until the point where I wanted to verify that
all of settings can be read correctly with NSUserDefaults in the MonoTouch
version since they were originally saved from the xcode/objective-c version.
When I deploy my app over the original app and open it, it quickly closes.
To replicate the problem I first go to the app store and download my app,
open it up, and close it. I then use MonoDevelop to deploy the rewritten
app in release mode to my iPhone. It deploys okay, but when I start the app
on the iPhone it quickly closes. The console log shows:
Nov 20 14:00:17 unknown com.apple.launchd[1] <Error>:
(UIKitApplication:YY3LN6Z8T6.Euchre[0x7acd])
posix_spawn("/var/mobile/Applications/E499510B-2A26-4024-800E-7CB391C9FA33/Euchre!.app/EuchreUI_iPhone",
...): Permission denied
Nov 20 14:00:17 unknown SpringBoard[15] <Warning>: Unable to obtain a task
name port right for pid 2094: (os/kern) failure
Nov 20 14:00:17 unknown com.apple.launchd[1] <Warning>:
(UIKitApplication:YY3LN6Z8T6.Euchre[0x7acd]) Exited with code: 1
Nov 20 14:00:17 unknown SpringBoard[15] <Warning>: Unable to send activation
event to <SBApplication: 0xf5b90d0> YY3LN6Z8T6.Euchre animate
statusBarOrientation = 1 activate: animationStart = 0 deactivate: :
(ipc/send) invalid destination port
Nov 20 14:00:17 unknown SpringBoard[15] <Warning>: Application 'Euchre!'
exited abnormally with exit status 1
If I redeploy the app again it will open correctly. I can't expect the
people who have downloaded this app to uninstall it and then install it
again from the app store to allow it to work correctly. From everything I
have read online it sounds like the executable file name needs to be the
same on the original app as the app that is being upgraded. So I verify
what the product name is in the Xcode version and it is "Euchre!" note the
exclamation point on the end of it. When I go into the project options in
MonoDevelop and change the Assembly name under Output to also say "Euchre!"
and go to build it, the build fails because of the "!" in the assembly name.
A partial view of the build log where it fails:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -gdwarf-2
-miphoneos-version-min=3.0 -arch armv6 -std=c99
-I/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -c
/var/folders/qk/7gbybwp52wx5bhng8sfvbr580000gn/T/tmp66a900d9.tmp/main.m -o
/var/folders/qk/7gbybwp52wx5bhng8sfvbr580000gn/T/tmp66a900d9.tmp/main.6.o
/var/folders/qk/7gbybwp52wx5bhng8sfvbr580000gn/T/tmp66a900d9.tmp/main.m:1743:
error: expected '=', ',', ';', 'asm' or '__attribute__' before '!' token
As another test I copied the ".app" file that it sitting in the release
folder into iTunes to see what would happen and it prompted me that there is
already a version of it in there and asked if I would like to replace it.
Though the file names are different iTunes did recognize it was the same app
(i'm guessing this is from the bundle identifier). When I click yes and
then sync my phone it does copy the app over and the app opens just fine
with all of the settings still in place like I would expect.
So I guess my question is.. does it seem safe to upload this to the app
store? I'm nervous that once the update goes out and someone downloads it
the app won't open for them like I have experienced.
To anyone that has any insight or suggestions I would greatly appreciate
them.
Thank you,
Adam
--
View this message in context:
http://monotouch.2284126.n4.nabble.com/Upgraded-App-Fails-to-open-on-iPhone-tp4089306p4089306.html
Sent from the MonoTouch mailing list archive at Nabble.com.
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch