HandleOpenURL Extension

Home / Forums / Marmalade Archive / EDK / HandleOpenURL Extension
by: Rutabagas
Status: Offline
Joined: 2011-06-17

I put together an extension for handling custom URL schemes but it currently only works in release mode and I cannot figure out why.

In debug mode, the program just hangs and gives the following output:

[707] : [0xfa0] HANDLEURL_VERBOSE: calling HandleURL[0] func: HandleOpenURL
[707] : [0xfa0] HANDLEURL_VERBOSE: calling HandleURL func on main thread: HandleOpenURL
[707] : [0x3ec44d98] DEBUG: s3eDebugAssertShow 0x00000000 type=2 'IwAssert failure:
Channel: S3E_INTERNAL
File: s3eEdk.cpp
Line: 112
Expression: extID != 200
Message: You should use s3eEdkCallbacksRegisterInternal to register for EDK callba
[707] : Channel: S3E_INTERNAL
File: s3eEdk.cpp
Line: 112
Expression: extID != 200
Message: You should use s3eEdkCallbacksRegisterInternal to register for EDK callba
[707] : File: s3eEdk.cpp
Line: 112
Expression: extID != 200
Message: You should use s3eEdkCallbacksRegisterInternal to register for EDK callba
[707] : Line: 112
Expression: extID != 200
Message: You should use s3eEdkCallbacksRegisterInternal to register for EDK callba
[707] : Expression: extID != 200
Message: You should use s3eEdkCallbacksRegisterInternal to register for EDK callba
[707] : Message: You should use s3eEdkCallbacksRegisterInternal to register for EDK callba
[707] : [0x3ec44d98] DEVICE: displaying error dialog: type=2
[707] : [0x3ec44d98] DEVICE: done displaying error dialog

Hopefully with a little help this can be put up as a community code project for anyone that wants to use custom URIs.

I would also suggest to Marmalade Devs that they make something like this into an EDK example as the most confusing part of what is actually a simple use of the EDK is figuring the hows of callback enqueue and register internal. Full project is attached (only works in release mode on iOS).

To use, at start up pass an s3eCallback (HandleOpen(void *systemData, void *userData)) to HandleOpenURL((s3eCallback)HandleOpen, NULL);

The system data in the callback will be a char* for the full URI that the app started with including the myapp:// part.

Latest Posts

Latest Comments

Top Contributors

  • amanda
  • riaan
  • alexand3
  • alexand4
  • alexand7
  • alexand889
  • alexand12191
  • remote9991
  • remote9992
  • test