Jump to content

Dave Nottage

Members
  • Content Count

    1490
  • Joined

  • Last visited

  • Days Won

    36

Everything posted by Dave Nottage

  1. That's correct. I have a method in TAssetDelivery called GetAssets that will enumerate them (note: this also enumerates any folders contained in the assets) at the top-level by passing a blank value for the path. As per the AssetManager docs, there are methods for accessing the files, however as you may notice from those docs these are not methods that you can use in a traditional Delphi-like manner. One way around this could be to use the open method of AssetManager to return an InputStream and (ultimately) save it to a file that can be accessed using traditional file methods, however it seems a bit of overkill - you might as well use a fast-follow pack. If you're playing videos, you could re-write TMediaPlayer (or at least the Android part) to deal with assets accessed via AssetManager however I'm yet to find a way of using these in a VideoView that works.
  2. Dave Nottage

    Sending Email via GMail Using OAuth 2.0 via Indy

    Can you show which requirements you are working from? If what you are using is purely HTTP-based, then TIdMessage is unlikely to be appropriate. Please show your code.
  3. While experimenting with the code (or for some other reason) it seems I had not reverted the code to use the Fetch method (which was commented out) rather than Query (in the IdleMessageHandler). Can you check whether changing this works for you?
  4. Dave Nottage

    Compile with msbuild for android for deploy

    Nothing. Unfortunately you need to deploy at least once from the IDE before your automated build will deploy. See: https://quality.embarcadero.com/browse/RSP-11395 https://quality.embarcadero.com/browse/RSP-15962 https://quality.embarcadero.com/browse/RSP-27605
  5. It's used by one of the other units, DW.RunProcess.Android.pas
  6. Dave Nottage

    Foreground service

    Yes.. as far as I can ascertain, if the app is closed you would need a service to ensure the notification with the controls is persistent. Here's a problem with this scenario: you will not be able to use TMediaPlayer in a service, since it relies on FMX units, including FMX.Types, because of this issue: https://quality.embarcadero.com/browse/RSP-17857 so you would need to do your own implementation (or find one), avoiding the FMX units.
  7. Dave Nottage

    App Store invalid binary error

    This suggests that the App ID you have created for your app has the Fonts entitlement checked, i.e. on the Apple Developer site, your App ID has this: It's unlikely you need this entitlement. Please refer to: https://stackoverflow.com/a/58534629/3164070 To rectify the issue, you would need to remove the entitlement from the App ID, re-create and re-download the provisioning profile for your app.
  8. I thought I would have received an error indicating that it could not be executed. I also used TFile.GetAttributes to check whether it could be (it has all the execute attributes), and running ls -l on the containing folder (using the demo itself) suggests that it is executable:
  9. There's now an example of how to run a process on Android, here: https://github.com/DelphiWorlds/HowTo/tree/main/Demos/AndroidRunProcess Sadly, I have been unable to make it work with the Stockfish application that is available for download here: https://stockfishchess.org/download/ The process seems to start, however it also seems to lock up my application. There does not seem to be any clues in the device logcat messages as to what the problem is. The demo still includes the files, and the code that attempts to run it, however the code has been commented out in favour of some more basic executables that are known to work. I have put my efforts on hold (though I may use the run process code myself for something else), and have thrown it open to anyone else who might be able to make it work.
  10. Dave Nottage

    Deploy Delphi 11 iOS 15 XCode 13

    In future, please report issues regarding Mosco here: https://github.com/DelphiWorlds/Mosco/issues Also, please provide full error messages, and not images that have parts of the messages cut off. From the little information that is available, it may be you not have followed the required steps, i.e. select App Store build type and do a Deploy (which will fail, but is a necessary step), then use the Build IPA menu item.
  11. Dave Nottage

    Foreground service

    This does not say that the app absolutely has to have a foreground service. The notification can be created without one: https://stackoverflow.com/questions/55324188/how-to-build-a-notification-in-android-and-implement-click-listener
  12. You still have not explained what are you aiming to do specifically. It may be that whatever it is, can be done some other way. Yes - they're part of a commercial product, i.e. people are paid to write them.
  13. If you don't know how to use the imported classes, I'm curious as to what exactly you're aiming to do.
  14. Not "out of the box". Here's a link that includes the Java equivalent: https://stackoverflow.com/a/5642593/3164070 ..and an import for the Process and Runtime classes: https://github.com/DelphiWorlds/Kastri/blob/master/API/DW.Androidapi.JNI.Lang.pas That should at least give you a start
  15. Dave Nottage

    Foreground service

    That's information about foreground services. How does "a persistent menu on the status bar for next/play/pause musics" relate to it?
  16. Dave Nottage

    D11, Android new App Billing Service

    I thought that's something that what was causing problems before? Weird. Anyway, good to know, and thanks for the update
  17. Dave Nottage

    Foreground service

    Can you provide links to the research that shows that is what is required?
  18. Dave Nottage

    MacOS NSVisualEffectView implementation

    That's very cool!
  19. Dave Nottage

    Application to generate all cross platform images

    I suspect Ken is referring to icons and launch images. I'd be interested in seeing it
  20. Yes: https://github.com/DelphiWorlds/Kastri/tree/master/Demos/AssetDelivery
  21. Dave Nottage

    Fmx Android Service Segmentation Fault (11)

    You have FMX.Types in the uses clause of Unit2 in your service. Not sure why, since it does not even need to be there. Regardless, that is why your service is failing. Please see this report: https://quality.embarcadero.com/browse/RSP-17857
  22. Dave Nottage

    Delphi 10.4.2 with XCode13 SDK15.0 packaging ipa fail

    Links to Installers for Codex 1.5.1 and Mosco 1.2.1. Includes workaround for App Store builds with Xcode 13. Requires at least Mosco to be installed, however the Codex tool adds a convenient way of applying the workaround. Workaround steps: Build/Deploy your app using App Store config (which will "fail" with Xcode 13) If using the workaround in Delphi itself, in Project Manager, right click the root node of the project and click "Build IPA" If using the workaround in Mosco, click the Mosco icon in the system bar to bring up the menu, click Fixes > Build App Store IPA. Select the app from the ~/PAServer/scratch-dir/[username]-[profile]/ folder and click Build https://github.com/DelphiWorlds/Codex/blob/master/Bin/CodexSetup_1.5.1.exe https://github.com/DelphiWorlds/Mosco/blob/master/Bin/Mosco.1.2.1.pkg Use o Google Translate se quiser as instruções em português: https://translate.google.com
  23. Dave Nottage

    Delphi 10.4.2 CE support Android API 30

    It's because Delphi 10.4.2 is using Jarsigner instead of APKSigner, which is required for APKs with a target SDK of 30 or higher. There are ways around it, however you are just delaying the inevitable. The bottom line is: If you want to stay current with Android development (or iOS, especially if deploying to the app stores), stay current with Delphi.
  24. There's a couple of problems with your deployment to Google Play: One of them suggests you're using a older project in Delphi 11, and have not performed "Revert System Files to Default" for at least Android 64-bit (my device is 64-bit so it only installs an .apk for 64-bit), in the Libraries node for the target platform, in Project Manager The other suggests the deployment information is incorrect for at least 64-bit. Once you have deployed, go into Deployment Manager, and select Android 64-bit target. Make sure there aren't any greyed out items that shouldn't be. You may have to use the Revert button (looks like an Undo icon) to make sure the entries are correct, then rebuild and redeploy.
×