I have tested plugins.svyphonegapBrowser.openHrefTag(‘tel:06-12345678’) on iOS version 18.1.1 and the link did nothing, while it still works Ok on iOS version 17.5.1
I have also tested this on iOS 26, and there also no response.
I have tested plugins.svyphonegapBrowser.openHrefTag(‘tel:06-12345678’) on iOS version 18.1.1 and the link did nothing, while it still works Ok on iOS version 17.5.1
I have also tested this on iOS 26, and there also no response.
Do you think you could share more details about the usage?
This has been working fine even with IOS 26.4 , for the iPhone.
plugins.svyphonegapBrowser.openHrefTag(‘tel:12345678’);
The example we have online is below
Note that iOS does require this functionality to be tied to a button of sorts. So it’s interactive by user clicking on something. We cannot run this programmatically where it’s called by a service or automated.
Hi Tuan,
I have the following code:
if (columnindex == 0 && foundset.google_address) {
if (scopes.globals.isMobile) {
plugins.svyphonegapLaunchNavigator.launchNavigator(foundset.google_address)
}
} else if (columnindex == 1) {
this.selectProject(foundsetindex)
} else if (columnindex == 2 && foundset.phone) {
if (scopes.globals.isMobile) {
application.output('tel:' + foundset.phone.replace(' ', ''))
plugins.svyphonegapBrowser.openHrefTag('tel:' + foundset.phone.replace(' ', ''))
}
}
I have tested this with iOS version 17.5.1 and the telephone number is displayed in the log and the telephone is activated with a popup.
When I tested the same with iOS version 18.1.1 the telephone number is also displayed in the log, but the telephone is not actived, and no popup.
Testing was done on the same installation Servoy Version: 2020.3.3.3565_LTS
The code is activated by clicking on column 2 in a row of a datagrid.
Hope you can confirm this.
Nic
Hi Nic,
This worked fine for me. I added a simple test to the svyMobile example:
Tested on a hosted version of the app as well:
Hi Tuan,
Which iOS version did you use? It works fine on iOS version 17.5.1, but not on iOS version 18.1.1
I’m using iOS version 26.4
I have also tested this on iOS version 26.4.2, but nothing happens. I think it must be due to version 2020.3.3.3565_LTS.
I have also tried to alter to plugins.svyphonegapBrowser.openExternalLink, and this gives the same result. It works on iOS 17, but not on iOS 18 or 26.4.2.
I have also tested this on Servoy version: 2024.3.7.3950_LTS and in this version I also get the same results: The plugin svyphonegapBrowser (both opneHrefTag and openExternalLink) works ok on Android and iPadOS, but not on IOS.
I also noticed some deprication warnings in the iOS build log when buidling the app in Servoy Cloud. Perhaps this helps?
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:344:13: warning: block implicitly retains ‘self’; explicitly mention ‘self’ to indicate this is intended behavior [-Wimplicit-retain-self]
344 | _previousStatusBarStyle = -1;
| ^
| self->
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:360:44: warning: ‘openURL:’ is deprecated: first deprecated in iOS 10.0 [-Wdeprecated-declarations]
360 | if ([[UIApplication sharedApplication] openURL:url] == NO) {
| ^~~~~~~
| openURL:options:completionHandler:
In module ‘UIKit’:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:97:1: note: ‘openURL:’ has been explicitly marked deprecated here
97 | - (BOOL)openURL:(NSURL*)url API_DEPRECATED_WITH_REPLACEMENT(“openURL:options:completionHandler:”, ios(2.0, 10.0)) API_UNAVAILABLE(visionos, watchos);
| ^
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:362:44: warning: ‘openURL:’ is deprecated: first deprecated in iOS 10.0 [-Wdeprecated-declarations]
362 | [[UIApplication sharedApplication] openURL:url];
| ^~~~~~~
| openURL:options:completionHandler:
In module ‘UIKit’:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:97:1: note: ‘openURL:’ has been explicitly marked deprecated here
97 | - (BOOL)openURL:(NSURL*)url API_DEPRECATED_WITH_REPLACEMENT(“openURL:options:completionHandler:”, ios(2.0, 10.0)) API_UNAVAILABLE(visionos, watchos);
| ^
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:533:15: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
533 | NSLog(errorMessage);
| ^~~~~~~~~~~~
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:533:15: note: treat the string as an argument to avoid this
533 | NSLog(errorMessage);
| ^
| @“%@”,
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:684:48: warning: ‘setStatusBarStyle:’ is deprecated: first deprecated in iOS 9.0 - Use -[UIViewController preferredStatusBarStyle] [-Wdeprecated-declarations]
684 | [[UIApplication sharedApplication] setStatusBarStyle:_previousStatusBarStyle];
| ^
In module ‘UIKit’:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:532:50: note: property ‘statusBarStyle’ is declared deprecated here
532 | @property(readwrite, nonatomic) UIStatusBarStyle statusBarStyle API_DEPRECATED(“Use -[UIViewController preferredStatusBarStyle]”, ios(2.0, 9.0)) API_UNAVAILABLE(visionos, tvos, watchos);
| ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:532:50: note: ‘setStatusBarStyle:’ has been explicitly marked deprecated here
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:757:23: warning: ‘mediaPlaybackRequiresUserAction’ is deprecated: first deprecated in iOS 9.0 [-Wdeprecated-declarations]
757 | configuration.mediaPlaybackRequiresUserAction = _browserOptions.mediaplaybackrequiresuseraction;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| mediaTypesRequiringUserActionForPlayback
In module ‘WebKit’ imported from /Users/ec2-user/Library/Developer/Xcode/DerivedData/E-Vision_Mobile-awrzosklwiqodqasilrgkcczivyf/Build/Intermediates.noindex/ArchiveIntermediates/E-Vision Mobile/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/include/Cordova/CDVWebViewEngineProtocol.h:21:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h:258:28: note: ‘mediaPlaybackRequiresUserAction’ has been explicitly marked deprecated here
258 | @property (nonatomic) BOOL mediaPlaybackRequiresUserAction API_DEPRECATED_WITH_REPLACEMENT(“mediaTypesRequiringUserActionForPlayback”, ios(8.0, 9.0));
| ^
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:790:10: warning: ‘automaticallyAdjustsScrollViewInsets’ is deprecated: first deprecated in iOS 11.0 - Use UIScrollView’s contentInsetAdjustmentBehavior instead [-Wdeprecated-declarations]
790 | self.automaticallyAdjustsScrollViewInsets = YES ;
| ^
In module ‘UIKit’:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:304:34: note: ‘automaticallyAdjustsScrollViewInsets’ has been explicitly marked deprecated here
304 | @property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets API_DEPRECATED(“Use UIScrollView’s contentInsetAdjustmentBehavior instead”, ios(7.0, 11.0), tvos(7.0, 11.0)) API_UNAVAILABLE(visionos, watchos); // Defaults to YES
| ^
/Users/ec2-user/servoy-webservice/uploads/buildDir/build_C3666D06/platforms/ios/E-Vision Mobile/Plugins/cordova-plugin-inappbrowser/CDVWKInAppBrowser.m:929:90: warning: ‘UIBarButtonItemStyleBordered’ is deprecated: first deprecated in iOS 8.0 [-Wdeprecated-declarations]
929 | self.closeButton = title != nil ? [[UIBarButtonItem alloc] initWithTitle:title style:UIBarButtonItemStyleBordered target:self action:@selector(close)] : [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(close)];
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| UIBarButtonItemStylePlain
In module ‘UIKit’:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIBarButtonItem.h:33:5: note: ‘UIBarButtonItemStyleBordered’ has been explicitly marked deprecated here
33 | UIBarButtonItemStyleBordered API_DEPRECATED_WITH_REPLACEMENT(“UIBarButtonItemStylePlain”, ios(2.0, 8.0)) API_UNAVAILABLE(visionos, watchos) = 1,
| ^
8 warnings generated.