Troubleshoot common issues with the mPaaS framework, including RubyGems and RVM installation errors, custom delegates, and micro-application navigation.
Click a question to view its answer.
An "ERROR: Failed to build gem native extension." error occurs when upgrading RubyGems
If the ERROR: Failed to build gem native extension. error occurs when upgrading RubyGems, install the Xcode command-line tools and retry.
xcode-select --install
A "Library not loaded" error occurs when installing RVM
If the For dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib error occurs when installing Ruby 2.2.4 with RVM, run the following command and retry.
brew update && brew install gmp
A "lazy symbol binding failed" error occurs when installing RVM
If the dyld: lazy symbol binding failed: Symbol not found: _clock_gettime error occurs when installing Ruby 2.2.4 with RVM, install the Xcode command-line tools and retry.
xcode-select --install
How to use a custom UIApplication delegate class
If you do not use the mPaaS framework, directly replace DFClientDelegate in the main method with your custom class.
How to exit all micro-applications and return to the Launcher
[DTContextGet() startApplication:@"Launcher's app ID" params:nil animated:kDTMicroApplicationLaunchModePushNoAnimation];
How an overlaying application can restart an underlying application and pass parameters
When an application is running and another application is started on top of it, restarting the underlying application closes the overlaying application and all applications above it.
[DTContextGet() startApplication:@"Name of A" params:@{@"arg": @"something"} launchMode:kDTMicroApplicationLaunchModePushWithAnimation];
The DTMicroApplicationDelegate of the underlying application receives the following event, where the options dictionary contains the parameters.
- (void)application:(DTMicroApplication *)application willResumeWithOptions:(NSDictionary *)options
{
}
A blank screen appears when you open a view controller that is created using an xib file and inherits from DTViewController
Override the loadView method in a category on DTViewController:
@interface DTViewController (NibSupport)
@end
@implementation DTViewController (NibSupport)
- (void)loadView
{
[super loadView];
}
@end