Jump to content

Hans♫

Members
  • Content Count

    123
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by Hans♫


  1. 1 hour ago, Lajos Juhász said:

    According to the Roadmap (https://blogs.embarcadero.com/rad-studio-roadmap-november-2020/) in Delphi 10.5  H2 2021  you can expect a better support for the M1 CPU. In the roadmap it's under Platform Enhancements macOS ARM (Delphi).

    The roadmap refers to ARM M1 as a target platform.

    What I am referring to is to be able to debug the Intel target on an ARM M1 CPU. 

    I can deploy and run from Delphi on the M1 CPU, but I cannot debug.

    It might not be possible to use the CPU view in Delphi, as it would have to work through the Rosetta 2 converter, but limited debug facilities would suffer, e.g. Breakpoints and variable inspection.


  2. Now I had time to investigate it a bit further. Looks like debug mode does NOT work on the new M1 CPU.

    I can run a MacOS application from Delphi on the M1 Mac, without debugging, but when I run in debug mode I get the error: "unable to create process 'debug kernel timeout'".

    The same application runs fine in Debug mode when using an Intel Mac having the same versions of MacOS (Big Sur) and XCode.

     

    Before I create an issue on on Quality Portal. Are there any suggestions for things I should try first? - or extra information I can retrieve and include in the issue?


  3. I have attached the FMX.InAppPurchase.Mac.pas that we use so it is easy to use for others. All you need is to add it to your project and also add a modified version of FMX.InAppPurchase.pas where you include the file (just search for FMX.InAppPurchase.IOS, and see how that file is added, and do the same with the FMX edition)

    FMX.InAppPurchase.zip

    • Like 3
    • Thanks 1

  4. You'll probably need to do a lot of tweaking and manual work to create an AU with Delphi. The recommendation from Apple is to inherit from the AU base classes:

     

    "The quickest way, the one endorsed by Apple, and the one described in this document, is to subclass the appropriate C++ superclasses of the freely-downloadable Core Audio SDK."

    https://developer.apple.com/library/archive/documentation/MusicAudio/Conceptual/AudioUnitProgrammingGuide/Introduction/Introduction.html

     

    When I have needed to access C++ objects in Delphi, I have flattened them, but I don't know if this can be done everywhere in this situation. Someone else can probably tell you more about how you can handle that.

     


  5. EarMaster is a unique and highly praised app made in Delphi for Windows, MacOS and iOS.

    We are looking for a unique profile, and therefore I also share the job internationally. For the right person, this will be a dream job that might make you consider to relocate to Denmark!

    This job is at our office in Aarhus, Denmark, and remote work is not an option - don't waste your time to ask if we are sure, or if we have other jobs for remote workers 😉

     

    The job add is in Danish, but it is not an absolute requirement that you speak Danish if you have strong English skills. The Google translated job add can be accessed here:

    https://www.it-jobbank.dk/jobannonce/362739/musikalsk-lead-udvikler-til-verdenskendt-musikteori-app

     

    You can find more information about the app at our

    Website: https://www.earmaster.com

    Youtube channel: https://www.youtube.com/user/eartraining

    and for a more technical insight, here is the video we made 4 years ago when our iPad app became the Embarcadero "Cool App Winner":

     

     

    • Like 6

  6. I made Delphi headers for the Canon SDK about 20 years ago. It allowed me to connect to the camera, show live preview, zoom, take pictures and download the pictures into my software. Don't know if the headers are of any use with the current SDK, but if you want to try, you can get it. No support included 😉


  7. 5 hours ago, lefjucabro said:

    I had to get iOSapi.AudioUnit.pas, iOSapi.CoreAudioTypes.pas and iOSapi.CoreMidi.pas which are declared in iOSapi.AudioToolbox.pas.

    Sorry I didn't see that. I have sent a PM with those headers too.

    However, there are a lot of details to figure out before you can achieve what you want. Having the headers is just a small part of it. With a lot of Googling, reading and persistence - eventually you will get through 😉 Keep up the spirit!


  8. 2 hours ago, lefjucabro said:

    ... (I really am a beginner). If you have a link to explain it or send me your file if it is ok for you.

    If have sent a PM with the file, but you are far from done having this file. The best advice is to find code in Objective-C that does what you want, and then convert it to Delphi - which might include a few headaches. 


  9. We have developed a low-level audio input solution for Windows, MacOS and iOS. It allows us to process audio immediately when each buffer is filled and delivered to our code. I cannot share my code here, but here are some hints of the API functions we use on iOS:

    AudioQueueNewInput

    AudioQueueAllocateBuffer

    AudioQueueEnqueueBuffer

    AudioQueueStart

    AudioQueueStop

    • Like 2

  10. 2 hours ago, MikeMon said:

    How come there's nothing in forums about this? How are other Delphi users developing for iOS tackling this? The above solution doesn't feel right.

    I don't know when (or if) Apple will make it a requirement to use the Storyboard, but so far you can still use the old way that Delphi supports right now. We are not using the storyboard solution in our app, and that is still accepted by Apple. Its only one week ago we uploaded the last update.


  11. 12 hours ago, Dave Nottage said:

    There's someone in another post here asking about whether there are updated imports for the FB SDK.

    I didn't answer this one because the steps to include the FB SDK is pretty much the same as mentioned in the GRIJJY blog. Though I never needed to fix anything regarding Delegates, so depending on your needs, this pretty long part can be skipped.

    Also, my first implementation of the FB SDK was made in 2015-16, before anyone else had published solutions for it. My implementation is much simpler and focus only on the areas that I needed my self. Therefore it is not compatible with the GRIJJY source code.

     

    However,

    @MikeMon I'll be happy to share my headers and units to implement the Facebook API.


  12. On 1/29/2020 at 10:04 PM, Dave Nottage said:

    If you're still having trouble, please look at line 175 here:

    https://github.com/DelphiWorlds/KastriFree/blob/master/API/DW.iOSapi.Firebase.pas

    Basically forces the linker to link to libclang_rt.ios.a, which has the "missing" symbol

    Thanks Dave, it solved the problem!

     

    I added the fake includer function to the FB SDK headers as you suggested:

    procedure CLangRTLoader; cdecl; external '/usr/lib/clang/lib/darwin/libclang_rt.ios.a';

    Now it links with the FBSDK 4.36 without problems, and after a few hours of work to adapt my code to the new API version, everything works!

    (I didn't try newer versions for now, as they might require further updating of my code and headers)
     

    • Like 1

  13. 56 minutes ago, Rollo62 said:

    @Hans♫

    Congratiulations from my side too.

    Thanks 🙂

     

    57 minutes ago, Rollo62 said:

    @Hans♫

    May I ask: does FB has part in that success story ?

    Did you make a special FB promotion, advertising to get there ?

    I don't think that our FB activities have had any influence on Apples decision to feature EarMaster.

    From my point of view, FB advertising is useful if you have a free app and it targets something that people have a personal interest in.

    When you are viewing you FB news thread, you are not in "commercial mode", but instead you can easily be attracted by an add about something you are passionate about.

    It's however important to submit all in-app purchases to FB, so you can calculate the ROI, which is what we mainly use our FB integration for.

    • Like 1
×