Does WL.App.close() work on iOS? - ibm-mobilefirst

WL.App.close() works fine on my droid. But does nothing on my 7.0 iOS iTouch. Is there any way to force iOS to exit the app?

This is by design. WL.App.close is deprecated. See the note in the Infocenter:
Note: According to iOS Human Interface Guidelines, an iOS app must not
contain an Exit button. The device's Home button is used for this
purpose instead. Apps that contain an Exit button are rejected upon
submission to the Apple App Store. On iOS, nothing happens upon
tapping a button that is implemented with this API method.

Related

Appium iOS can't inspect notification layer

Im using Appium to test my notifications in my iOS app.
Im sending with another device a notification while the iOS app is in BG. Then I swipe down using :
((IOSDriver) wd).swipe(500,0,500,1000,1000);
The above works, the screen get scrolled down and I can physically see the notification. The issue is that the appium still inspects the screen below.
I checked appium inspector and it verified that it doesn't recognize nothing but the elemnts of the layer below the notifications one.
Any approach ??
As long as I know it is known limitation for iOS now.
You can get notification bar elements on Android only
But based on top comment it should be possible to wrap up with Appium since Xcode 9 introduced interaction with multiple apps, so its matter of time.
I found a workaround that fits my needs.
I found out that if I click the home button and then swipe down the notification are visible to Appium.
Because Appium not having key events for iOS, iPhone has the an accessibility option for home button, I toggled that on and I can simply click it during the test and swipe down the notification center.
I know it's not ideal but its working.
Thanks for the help.

Local notifications won't show up on device?

I made an iphone app for my girlfriend and it works fine on my iphone.
On her's iphone too except the local notifications won't show up.
The app also won't show up in the notification center of the iphone settings itself.
I searched for differences in my iphone settings and her's but I can't find the problem.
I did not paste my notification code because I think the problem lays somewhere else..
Any help?
Is she using iOS 8? If so, make certain you call UIApplication's registerUserNotificationSettings: method so the app can display local notifications.
You can determine if it worked by adding a application:didRegisterUserNotificationSettings: method to your app delegate.

how to keep ios app using opentok video chat in foreground

I've integrated opentok ios sdk in my iOS 7 app, it is working fine, except this problem:
During video chat if I don't access iPhone for 5-10 seconds..then my app moves into background, causing viewer at other end to hear only audio. Video is disabled after app goes to background state.
I've observed same thing with their official example
https://github.com/opentok/opentok-ios-sdk/tree/master/samples/OpenTokFullTutorial
How can I avoid my app going to background while video chat is ongoing. Skype is working fine in this case, I want to achieve same thing.
What you want to do is prevent the iPhone from going to sleep. To do this, you cant try this:
[UIApplication sharedApplication].idleTimerDisabled = YES;
Here is iOS documentation on idleTimerDisabled
If you don't want the app going into background at all (like when the user taps on home button), you can opt to kill the app when it's not running instead of having it run in the background. To do that, check out iOS guide on opting out of background execution
If you do not want your app to run in the background at all, you can
explicitly opt out of background by adding the
UIApplicationExitsOnSuspend key (with the value YES) to your app’s
Info.plist file. When an app opts out, it cycles between the
not-running, inactive, and active states and never enters the
background or suspended states. When the user presses the Home button
to quit the app, the applicationWillTerminate: method of the app
delegate is called and the app has approximately 5 seconds to clean up
and exit before it is terminated and moved back to the not-running
state.
Hope that helped!

geofencing no longer relaunch app from terminated state in ios7?

I'm developing an app which uses ibeacon to determine if the user entered a specific region.
Now I'm using the CoreLocation framework to implement this geofencing-based feature.
I've read the document below.
https://developer.apple.com/library/mac/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html
in which the Apple is saying that:
"In iOS, the regions you register with the location manager persist between launches of your application. If a region crossing occurs while your iOS app is not running, the system automatically wakes it up (or relaunches it) in the background so that it can process the event. When relaunched, all of the regions you configured previously are made available in the monitoredRegions property of any location manager objects you create. "
I discovered that it's true just before the ios 7.
From ios 7, An app will be waken-up from background but it will actually no longer could be re-launched from terminated-state (slided out from the task manager which displayed by double-clicking the home button).
If it's due to the Apple's policies, why does Apple not update the above official document?
So I'm thinking of an ios7's bug because the Reminder App (a built-in app) is also not relaunched in ios7 even though it's relaunched in ios6.
Is this issue due to Apple's policies? or an ios7's bugs?
It takes me more than 2 days to google for a solution.
Any ideas for this issue?
The documentation is simply out of date. This is intended behavior in iOS7. Apple produced a video explicitly discussing this change. The idea is that if the user explicitly terminates the app, the user does not want it running. See this thread.
Is this such a big deal? How often will users really do this? Remember, if users are annoyed by you app, they can always uninstall it, too. This was true in iOS6.
iOS 7.1 reversed this policy. That is even if the user kills your app the iOS still launches your app upon crossing the region.

iOS Multitasking App Launch

I developed an app for IPhone and it's posted to itunes for approval. Now when I test the app I found out a strange behavior which I think should be rectified. When I launch app first time, the app launched and when I press home button it closes but when I tap the app icon to open it again it opens where it was last closed.
How can I change the view to first view of the app when it's launched after closing by Home screen button?
If you don't want your app to run in the background you need to set the "Application does not run in background" key in the info.plist file. This means that your app will completely restart every time your user returns to it. Take time to decide if this really is the best move for your app. Allowing users to return to where they left off or remembering information about the last session can be a big plus.
If you do not set the info.plist value like I mention above you can manage the way your app behaves by using the: applicationWillEnterForeground: in UIApplicationDelegate or you could observe UIApplicationWillEnterForegroundNotifications. Read up on all the available notifications and methods available for this in the UIApplication Delegate documentation.