{ "id": "173014", "key": "TIMOB-26835", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "20432", "name": "Release 8.0.1", "archived": false, "released": true, "releaseDate": "2019-05-15" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2019-04-04T13:53:43.000+0000", "created": "2019-02-18T14:47:04.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "engSchedule", "regression" ], "versions": [ { "id": "19882", "name": "Release 8.0.0", "archived": false, "released": true, "releaseDate": "2019-03-14" } ], "issuelinks": [], "assignee": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2019-04-04T13:53:43.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "This is a regression from 7.5.0.GA. When pressing the call me button on an application using webView the call popup is no longer shown. \r\n\r\n*Test Code*\r\n{code:java}\r\nvar win = Titanium.UI.createWindow({\r\n\tbackgroundColor:'white'\r\n});\r\nwin.add(Ti.UI.createWebView({\r\n\ttop:20,\r\n\thtml:'Call me',\r\n\thandlePlatformUrl:true\r\n}));\r\nwin.open();\r\n{code}\r\n\r\n*Expected result:*\r\nAbove test case should show a pop up asking the user to make a call \r\n\r\n*Actual result:*\r\nNo pop is shown. \r\n", "attachment": [], "flagged": false, "summary": "iOS: Unable to get call pop menu from a webView", "creator": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "iPhone 6 Sim (12.1)\r\nAPPC CLI: 7.0.10-14\r\nOperating System Name: Mac OS Mojave\r\nOperating System Version: 10.14.2\r\nNode.js Version: 8.9.1\r\nXcode 10.1\r\nSDK: 8.0.0.v20190214095044", "closedSprints": [ { "id": 1123, "state": "closed", "name": "2019 Sprint 7", "startDate": "2019-03-18T17:27:25.993Z", "endDate": "2019-03-30T17:27:00.000Z", "completeDate": "2019-03-29T18:02:37.441Z", "originBoardId": 114 }, { "id": 1124, "state": "closed", "name": "2019 Sprint 8", "startDate": "2019-03-31T18:03:00.000Z", "endDate": "2019-04-12T18:03:00.000Z", "completeDate": "2019-04-12T19:04:50.175Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "446182", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~smohammed] In 8.0.0 we are using WKWebView instead of UIWebView to implement Ti.UI.WebView. So in some cases behavior is a bit different.\r\nWe have to use 'allowedURLSchemes' property for same to work.\r\nBest way to implement the same is -\r\n\r\n{code:java}\r\nvar win = Titanium.UI.createWindow({\r\n backgroundColor:'white'\r\n});\r\nvar webview = Ti.UI.createWebView({\r\n top:20,\r\n html:'Call me',\r\n allowedURLSchemes:[\"tel\"]\r\n});\r\nwin.add(webview);\r\nwin.open();\r\n\r\nwebview.addEventListener('handleurl', function(e) {\r\n var handler = e.handler;\r\n Ti.Platform.openURL(e.url);\r\n handler.invoke(Ti.UI.iOS.ACTION_POLICY_CANCEL); \r\n});\r\n{code}", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-20T10:49:05.000+0000", "updated": "2019-02-20T10:49:05.000+0000" }, { "id": "447067", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR(master) - https://github.com/appcelerator/titanium_mobile/pull/10793\r\nPR(8_0_X) - https://github.com/appcelerator/titanium_mobile/pull/10794", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-21T22:30:37.000+0000", "updated": "2019-03-21T22:30:37.000+0000" }, { "id": "447348", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~jquick], is there something similar to the {{allowedURLSchemes}} property and {{handleurl}} event on Android to dynamically decide which URLs to handle?", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-03-28T16:59:17.000+0000", "updated": "2019-03-28T16:59:17.000+0000" }, { "id": "447354", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~jvennemann], in Titanium 7.5.0, we added a new \"onlink\" callback to {{WebView}} on Android and iOS.\r\nhttps://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.WebView-property-onlink\r\n\r\nThe {{WebView}} will do a blocking call on the \"onlink\" callback whenever you tap on a link. If you return {{true}} from the callback, then the {{WebView}} will proceed to load the URL. If the callback returns {{false}}, then the {{WebView}} won't load the link. This feature's main intention is to allow the app developer to invoke native things from say a custom URL scheme. Such as display a native window/dialog.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-28T22:27:03.000+0000", "updated": "2019-03-28T22:27:03.000+0000" }, { "id": "447355", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Here is an example on how to use \"onlink\". It works on both Android and iOS.\r\n{code:javascript}\r\nvar htmlText =\r\n\t\t'\\n' +\r\n\t\t'\\n' +\r\n\t\t'\t\\n' +\r\n\t\t'\t\t\\n' +\r\n\t\t'\t\\n' +\r\n\t\t'\t\\n' +\r\n\t\t'\t\t

WebView \"onlink\" Test

\\n' +\r\n\t\t'\t\tShow Alert 1\\n' +\r\n\t\t'\t\t
\\n' +\r\n\t\t'\t\t
\\n' +\r\n\t\t'\t\t
\\n' +\r\n\t\t'\t\tShow Alert 2\\n' +\r\n\t\t'\t\t
\\n' +\r\n\t\t'\t\t
\\n' +\r\n\t\t'\t\t
\\n' +\r\n\t\t'\t\tGo to YouTube\\n' +\r\n\t\t'\t\\n' +\r\n\t\t'\\n';\r\n\r\nvar window = Ti.UI.createWindow();\r\nvar webView = Ti.UI.createWebView({\r\n\thtml: htmlText,\r\n\tonlink: function(e) {\r\n\t\tswitch (e.url) {\r\n\t\t\tcase \"mylink://show/alert1\":\r\n\t\t\t\talert(\"This is alert 1.\");\r\n\t\t\t\treturn false;\r\n\t\t\tcase \"mylink://show/alert2\":\r\n\t\t\t\talert(\"This is alert 2.\");\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n});\r\nwindow.add(webView);\r\nwindow.open();\r\n{code}\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-28T22:42:21.000+0000", "updated": "2019-03-28T22:42:21.000+0000" }, { "id": "447445", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, waiting on Jenkins builds. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-04-03T10:18:16.000+0000", "updated": "2019-04-03T10:18:16.000+0000" }, { "id": "447447", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "Merged to 8_0_X and master", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2019-04-03T14:12:33.000+0000", "updated": "2019-04-03T14:12:33.000+0000" }, { "id": "447467", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Closing ticket.* Fix verified in SDK version {{8.0.1.v20190403071846}} and SDK version {{8.1.0.v20190325115012}}.\r\n\r\nTest and other information can be found at: \r\nPR(master) - https://github.com/appcelerator/titanium_mobile/pull/10793\r\nPR(8_0_X) - https://github.com/appcelerator/titanium_mobile/pull/10794", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-04-04T13:53:37.000+0000", "updated": "2019-04-04T13:53:37.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }