-
Content Count
1560 -
Joined
-
Last visited
-
Days Won
36
Everything posted by Dave Nottage
-
Looks more like a fix for: https://quality.embarcadero.com/browse/RSP-23095 Two birds with one stone (perhaps unintentionally)?
- 14 replies
-
- rio
- olevariant
-
(and 1 more)
Tagged with:
-
Error when try to share images from TImageLayout with ShareSheetAction
Dave Nottage replied to Johansy's topic in FMX
In the Entitlements section of the Project Options, ensure that "Secure File Sharing" is checked. -
That the export option exists had slipped my mind.. I'll update my article; thanks!
-
You'll find you won't be able to debug with a device that has iOS 14.0. Deploying will work; just not debugging. Because Delphi does not import the iOS 13.6 SDK correctly, either (as well as iOS 14.0). Use iOS 13.5 SDK if you can - it comes with Xcode 11.5. I wrote about it here: https://delphiworlds.com/2020/08/using-a-prior-ios-or-macos-sdk-with-delphi/
-
Sorry, I remember now that I did not obtain them from there. Trouble is: I cannot remember exactly where I obtained them, however I've now added them here: https://github.com/DelphiWorlds/Kastri/tree/master/ThirdParty/OpenSSL/1.0.2o/iOS
-
https://github.com/IndySockets/OpenSSL-Binaries/blob/master/OpenSSLStaticLibs.7z
-
I expect you'd need to patch the TBaseWebViewDelegate.AuthenticateForHost method in FMX.WebBrowser.Delegate.Cocoa unit, and pass the username and password instead of using TDialogServiceAsync.InputQuery. I'd recommend submitting a feature request in the Quality Portal for an OnAuthenticate (or similarly named) event to make this easier.
-
I've already answered your email, but for the benefit of others: On iOS, you can check what the user has authorized with: TCLLocationManager.OCClass.authorizationStatus which will return one of the following values: kCLAuthorizationStatusAuthorized = 3; // User has authorized location services ("always" on iOS 8+) kCLAuthorizationStatusDenied = 2; // User denied authorization for your app, or they turned off location services in the device settings, or the device is in airplane mode kCLAuthorizationStatusNotDetermined = 0; // App is yet to request permission for location services kCLAuthorizationStatusRestricted = 1; // User is unable to authorize location services due to restrictions such as parental controls kCLAuthorizationStatusAuthorizedAlways = kCLAuthorizationStatusAuthorized ; // See kCLAuthorizationStatusAuthorized kCLAuthorizationStatusAuthorizedWhenInUse = 4; // User has authorized location services only when the app is in use (from iOSapi.CoreLocation unit) If your app needs location services and the status is kCLAuthorizationStatusDenied, you could present a message asking if they would like to change the settings, and if they do, execute OpenSettings: uses Macapi.Helpers, iOSapi.Foundation, iOSapi.UIKit, iOSapi.Helpers; function UIApplicationOpenSettingsURLString: NSString; begin Result := CocoaNSStringConst(libUIKit, 'UIApplicationOpenSettingsURLString'); end; procedure OpenSettings; begin TiOSHelper.SharedApplication.openURL(TNSURL.Wrap(TNSURL.OCClass.URLWithString(UIApplicationOpenSettingsURLString))); end; This will take them to the Settings app, and show the settings specific to your app (there may be a little delay in it changing to the settings for the app)
-
xcode XCode 12 and Delphi - any volunteers?
Dave Nottage replied to Sherlock's topic in Cross-platform
I've been using it for the past few days. The main issue at the moment is that Delphi does not import the iOS 14 SDK correctly, so it cannot be built against. Related issue: debugging on an iOS device with iOS 14 is hosed. Deploying works, debugging does not. -
Bulding an app to test push alerts in iOS
Dave Nottage replied to Gary Wardell's topic in General Help
You appear to have 2 certificates on the Mac that are the same. Perhaps one is expired. To check this, on the Mac in Applications/Utilities, run the Key Chain Access app, ensure that expired certificates are listed by clicking Show Expired Certificates in the View menu, and select login in the Keychains list, and My Certificates in the Category list: For any expired certificates, right-click them and click "Delete" -
Bulding an app to test push alerts in iOS
Dave Nottage replied to Gary Wardell's topic in General Help
The bundle identifier needs to match the identifier given to the App Id that was created for the application on the Apple Developer website, e.g I created this one for testing Firebase Cloud Messaging (for myself - you need to use your own): The convention is to use reverse domain notation (if you have one), or at least something that should be globally (literally) unique. This is also the App Id that you would have enabled Push Notifications for: -
I expect this is not going to be possible, however I thought I'd ask just in case someone has a brainwave of some kind. I'm working on a DLL which implements a virtual channel for Windows terminal services, and a desired function is for it to be able to "self-update". It fetches a file which is the new version of the DLL, and is supposed to "move" the file in-place. Needless to say I've tried to make it work, with the inevitable "access denied" errors when either attempting to rename the original file then replace it, or just copy over it.
-
Please refer to: https://quality.embarcadero.com/browse/RSP-30989 It has been happening to me, however I had not reported it as yet. I had also planned to attempt to debug the issue - perhaps Thomas can?
-
Without having the source of the project (or a reproducible example), it might be difficult to discover what the problem is
-
Might be wrong/incompatible NDK settings. This is what I have for 10.3.3:
-
Rx10.4.1 strangely removes UserTools.proj suddenly from %APPDATA% folder
Dave Nottage replied to Rollo62's topic in Delphi IDE and APIs
Doesn't happen to me. -
Note to self: double triple check where the DLL is being loaded from 😞
-
Yes
-
I'm getting the blank Grep window, too.
-
You could send it if you like, however I think it may be resolved only by seeing the code being executed at startup. You can direct message me the source if you like. I will treat it in confidence.
-
Seems to be stuck in an eternal loop. Does it work as an .apk? What exactly are you doing with Firebase in the app?
-
createdirectory 10.4 firemonkey 10.4 failed to create folder on android
Dave Nottage replied to PavelX's topic in FMX
It will not work if you do not have the permissions checked in the project options. -
Can you give a link to the app on Play Store?
-
createdirectory 10.4 firemonkey 10.4 failed to create folder on android
Dave Nottage replied to PavelX's topic in FMX
The following worked fine for me: procedure TForm1.Button1Click(Sender: TObject); begin PermissionsService.RequestPermissions(['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'], procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) begin // NOTE: I am assuming the user granted permission, here! CreateFolder; end ); end; procedure TForm1.CreateFolder; var fn: string; begin fn := TPath.Combine(TPath.GetSharedDocumentsPath, 'OLA'); ForceDirectories(fn); if TDirectory.Exists(fn) then Button1.Text := 'OK' else Button1.Text := 'Failed'; end; Delphi 10.4.1, Android 11 device (Pixel3a) -
From Android 6 you cannot change private secure settings, and "show_touches" is one of them.