[
https://issues.apache.org/jira/browse/CB-11422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15327620#comment-15327620
]
ASF GitHub Bot commented on CB-11422:
-------------------------------------
Github user cordova-qa commented on the issue:
https://github.com/apache/cordova-plugin-splashscreen/pull/105
Cordova CI Build has one or more failures.
**Commit** -
[Link](https://github.com/apache/cordova-plugin-splashscreen/pull/105/commits/master)
**Dashboard** -
[Link](http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11/)
| Builder Name | Console Output | Test Report | Device Logs |
| :---: | :---: | :---: | :---: |
| [Windows 8.1 Store](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-store/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-store/console)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-store/testReport/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-store/artifact/)
|
| [Windows 10 Store](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-10-store/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-10-store/console)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-10-store/testReport/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-10-store/artifact/)
|
| [Windows 8.1 Phone](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-phone/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-phone/console)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-phone/testReport/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=windows-8.1-phone/artifact/)
|
| [iOS](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=ios/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=ios/console)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=ios/testReport/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=ios/artifact/)
|
| [Android](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=android/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=android/console)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=android/testReport/)
| [Link](
http://cordova-ci.cloudapp.net:8080/job/cordova-plugin-splashscreen-pr/11//PLATFORM=android/artifact/)
|
> ios SplashScreen plugin may make webview disabled by not calling destroyView
> method
> -----------------------------------------------------------------------------------
>
> Key: CB-11422
> URL: https://issues.apache.org/jira/browse/CB-11422
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin SplashScreen
> Affects Versions: 3.5.0
> Environment: ios
> Reporter: Jonathan Li
>
> When using ios splash screen, it is noticed sometimes, after the splash
> screen is dimissed, the ios main uiwebview is disabled. So even if the
> content in the webview shows properly, but user cannot click on any items on
> the screen.
> The project adds the splash screen plugin, and use all default settings.
> The debug shows, when the page loaded is finished, it calls pageDidLoad
> method, which calls setVisible to NO. Inside the setVisible method, in the
> dispatch_after block, the completion block will only call destroyViews method
> if the screen transition is finished at below code block
> dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (uint64_t)
> effectiveSplashDuration * NSEC_PER_SEC), dispatch_get_main_queue(),
> CFBridgingRelease(CFBridgingRetain(^(void) {
> NSLog(@"splash screen: block %@", NSStringFromSelector(_cmd));
> [UIView transitionWithView:self.viewController.view
> duration:(fadeDuration / 1000)
> options:UIViewAnimationOptionTransitionNone
> animations:^(void) {
> [weakSelf hideViews];
> }
> completion:^(BOOL finished) {
> NSLog(@"splash screen: %@ finished %d",
> NSStringFromSelector(_cmd), finished);
> if (finished) {
> [weakSelf destroyViews];
> // TODO: It might also be nice to
> have a js event happen here -jm
> }
> }
> ];
> })));
> }
> }
> The problem is if the webview is busy to handle other events (in the testing
> project, there are several update on frame and bounds, so it calls
> updateImage few times), then the transition will not be finished when
> completion block is called. As a result, the destroyView will not be called
> and the userInteractionEnabled is not set to true after the splash screen is
> dismissed.
> One possible solution is removing the observer and also enable user
> interaction within setVisible method, as there is no point to continue
> observer the frame and bound change when splash screen starts to fade out.
> And it can also be sure the user interaction is always enabled again after
> dismissing the splash screen.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]