Jump to content

Search the Community

Showing results for tags 'ios'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Delphi Questions and Answers
    • Algorithms, Data Structures and Class Design
    • VCL
    • FMX
    • RTL and Delphi Object Pascal
    • Databases
    • Network, Cloud and Web
    • Windows API
    • Cross-platform
    • Delphi IDE and APIs
    • General Help
    • Delphi Third-Party
  • C++Builder Questions and Answers
    • General Help
  • General Discussions
    • Embarcadero Lounge
    • Tips / Blogs / Tutorials / Videos
    • Job Opportunities / Coder for Hire
    • I made this
  • Software Development
    • Project Planning and -Management
    • Software Testing and Quality Assurance
  • Community
    • Community Management

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Delphi-Version

Found 69 results

  1. Hello, please tell me who knows how to switch the application from the background to foreground. iOS Thank you!
  2. Hi there, I'm checking in iOS (and later for Android, Windows, etc.), what is the best, right way to Sleep in a background mode of the OS. The implementation for iOS seems to be same, as Posix, for iOS, Android, Macos, but I didn't checked that. My goal is to stop any OS operation in the background mode, to avoid killed apps by the OS. While the Thead loop is still active, but only throttled. TThread.Sleep - uses usleep, which is external function, as far as I know based on nanosleep - is this really affecting the current thread only ? class procedure TThread.Sleep(Timeout: Integer); begin {$IF Defined(MSWINDOWS)} Winapi.Windows.Sleep(Timeout); {$ELSEIF Defined(POSIX)} usleep(Timeout * 1000); {$ENDIF POSIX} end; System.SysUtils.Sleep - is bascially same {$IFDEF MSWINDOWS} procedure Sleep; external kernel32 name 'Sleep'; stdcall; {$ENDIF MSWINDOWS} {$IFDEF POSIX} procedure Sleep(milliseconds: Cardinal); begin usleep(milliseconds * 1000); // usleep is in microseconds end; {$ENDIF POSIX} System.SyncObjs.TEvent.WaitFor - is defintively based differently - uses a sem_timedwait (here and here also) - this probably waits by counting in a semaphore, so its not a "real" sleep of the OS, right ? Shall I better use Sleep or TEvent.WaitFor, to let threads sleep in the OS, while avoiding too many wakeups and operations in the background ? Is TEvent.WaitFor really sleeping, from a iOS OS perspective, or will it be seen as running app ? What I assumed before is that TThread.Sleep really stops the thread, and passes back CPU operation to other tasks, but I'm not so sure anymore under IOS.
  3. In the latest iOS App requirements and guidelines, one of the requirements says: "Apps for iPhone or iPad must ..... and use an Xcode storyboard to provide the app’s launch screen." Does this mean that a launch image is not enough and we need to create a splash screen inside the app? or this is already handled by Delphi?
  4. Hi there, I was trying to extend the iOSapi_AVFoundation.pas module, by adding the following function to the AVAudioSession function setCategoryWithOptionsError( category: NSString; withOptions : AVAudioSessionCategoryOptions; error: NSError): Boolean; cdecl; Unfortunately its crashing with an object is nil error, what do I miss here ? I make a local copy of the unit, and the following additions: uses ... const AVAudioSessionCategoryOptionDuckOthers = 2; //S4: add 14.05.20 ... type AVAudioSessionCategoryOptions = NSUInteger; //S4: add 14.05.20 AVAudioSessionClass = interface(NSObjectClass) ['{B24932F9-3C98-44E4-A4F6-0CB58AF7DE8A}'] //S4: 14.05.20 new GUID {class} function sharedInstance: Pointer; cdecl; end; AVAudioSession = interface(NSObject) ['{0B02D5EC-ED09-421A-84BE-6CEE08420E14}'] //S4: 14.05.20 new GUID ... //S4: Addition 14.05.20, the new function I need //[MethodName('setCategory:withOptions:error:')] function setCategoryWithOptionsError( category: NSString; withOptions : AVAudioSessionCategoryOptions; error: NSError): Boolean; cdecl; ... end. This is derived from the function in the Apple reference https://developer.apple.com/documentation/avfoundation/avaudiosession/1616442-setcategory Could be looking in Objective-C like this AVAudioSessionCategoryOptions AVAudioSessionCategoryOptionsNone = 0; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionsNone error:nil]; I want to call it like this LAVAudioSession := TAVAudioSession.Wrap( TAVAudioSession.OCClass.sharedInstance ); //<-- This is original method, it still can be called without exception LRes := LAVAudioSession.setCategory( AVAudioSessionCategoryPlayback, LError); //<-- This is the new method, crash with exception LRes := LAVAudioSession.setCategoryWithOptionsError( AVAudioSessionCategoryPlayback, AVAudioSessionCategoryOptionDuckOthers, LError); Do I have a stupid typo somewhere ? Can the two modules not coexist, because the old one is linked somewhere else ? Shall I use different GUID for the interfaces, or keep the same, to allow static links to find them ? Is the new method not yet in the Rx10.3.3 libraries, but I updated to latest SDK 13.4.1, they should be in there and FMX able to resolve it ? Does the module need to be initialized somehow ? Is there something missing what is needed for correct linkage ? Maybe its too late already, or I'm to blind to see.
  5. Hi there, I'm wondering if there exists a comparision, or a checklist from a developers API perspective. So far the release notes seems to be close together for both OS. https://developer.apple.com/documentation/ios_ipados_release_notes/ios_ipados_13_5_beta_4_release_notes But the questions are, do we have already incompatibilities in some areas, and what will be the roadmap for both API's breaking changes ? I have not found much useful info yet, if you have some more insights I would be happy if you may share your thoughts.
  6. Hi there, since I notices that I rarely need to touch iOS32 when preparing new iOS apps, while they are still compiles and bundled in the IPA, I wonder what phones will be affected. There is a detailled technical list, I hope that one is correct. It tells that > iPhone 5C, I can consider 64-Bit. I found a german article about such considerations, and another article that is a little contradictary. It tells that iPhone 5C should have modern CPU ( I assume 64-Bit), was produced still until 2017. While the other article tells us that iPhone 5S is from 2013 and iPhone 6/6 Plus is from 2014. Since I would consider >= iPhone 6/6 Plus as still quite modern and with a large user-base, can I be sure that they all run on iOS64 ? How much market impact has the iPhone 5S nowadays, which also means the slightly older OS iOS32 ? Another question is if "modern" CPU also means that they will guarantee to have OS iOS64 alone, or could they still run on iOS32 or both, depending on when they were updated or produced ? Is there the possibility, similar like in Windows, that both OS (32 and 64) might be running under one hardware ? Would be good to clarify from what model the OS iOS64 is definitively installed, for iPhone and iPad. Maybe there are some more official numbers out there, about how many iOS32 / iOS64 systems are in use.
  7. Hi there, I'm using Bluetooth-LE, and I can see that apps might crash in RELEASE under TestFlight, while they work well in DEBUG. This happened never on older iOS versions, so I still try to find the real reason for crashing. What I think is that the bluetooth-le flag not only controls the download from AppStore, but maybe also might cause internal crash's, if not defined. I use bluetooth, with UIBackgroundModes "location", "bluetooth-cetral" and "audio" background modes, which worked well before (and still does in DEBUG), but now shows the typical permission crashes, all on modern phones and iPads with iOS13.4.1. My configuration: Rx10.3.3, XCode 11.4.1, iOS13.4.1. Maybe I need to define bluetooth-le in the UIRequiredDeviceCapabilities, or does that doesn't make any difference in apps behaviour ?
  8. #ifdef

    XE5 > RIO

    Hi everyone! Need your help with old one sample* from Christen Blom-Dahl: objc_msgSend((FStillImageOutput as ILocalObject).GetObjectID, sel_getUid('addObserver:forKeyPath:options:context:'), FVideoCaptureDelegate.GetObjectID, (NSSTR('capturingStillImage') as ILocalObject).GetObjectID, NSKeyValueObservingOptionNew, (FAVCaptureStillImageIsCapturingStillImageContext as ILocalObject).GetObjectID); * article + listing I have an error message "Too many actual parameters", of course. And don't know what should I do now in Delphi 10.3.3. Found a similar question but it is unanswered too. Any suggestions?
  9. Hi Team, D10.3.3, 32Bit Apps. I have written a couple of native Windows Apps for a Company that is now making them available to their Customers via ThinFinity from Cybele Software. https://www.cybelesoft.com/ Some of their Field Techs are now using it to log and complete tasks in the field via the browser on their Company iPads. Everything works as designed, no issue. What they, the Company, have now asked is if I can add the ability for their Customer to Sign the iPad against the Task signifying their acceptance that the Task is finished to their satisfaction. The Company expects the Signature to be recorded against the database Task record. Given the configuration.. Application running on a Win 2012 Server via Thinfinity and the Web to the browser on the iPad. Is it even possible to capture the signature through this means? I can certainly add a field in the database and Tasking interface to present a Memo field of some sort but I don't know that it is possible for the application to capture a signature via the iPad hardware/software. Does anybody have any experience/thoughts along these lines? Regards & TIA, Ian
  10. There are 50 new cross platform samples for Delphi 10.3 Rio FireMonkey available over on Github. The demos heavily feature … http://www.fmxexpress.com/50-cross-platform-samples-for-android-ios-osx-windows-linux-and-html5-in-delphi/
  11. Hi. I have a problem with the app name when I deploy it for iOS. I changed the value of "CFBundleDisplayName" but when the app is installed it takes the "${modulename}" value as its name. What else do I have to do?
  12. Delphi 10.3.2, XCode 10.3 (coincidence?) and MacOS 10.14.6 So, I was trying to update an old demo project to run with iOS 12. Last time it was successfully compiled and installed was with Tokyo and iOS 11. But today it is just giving me a really hard time with the strangest errors I never saw before (details below). So I started a minimal App to get get things rolling again, and this at least runs on the simulator, but not on my iPad. Another App, in constant development, does both perfectly fine, btw. And I already "turned it off and on again". With the new App I started from scratch, compilation is fine, but deployment results in: I found a TesterApp.app in my Macs scratch-dir so I decided to add it to my device manually, which gives me And there really is no info.plist, and no executable. It baffles me. I have no idea how to get those things into the App. Delphi should take care of that. As for the older App I'm trying to revive, compilation seems fine as well, but this is what I get when running it (F9) with Dev-Settings: Leaving me with a seemingly half finished .App file without an executable in my scratch-dir.Setting to Ad-hoc build gets even stranger messages in the IDE and still no executable: Any ideas?
  13. Dear all, I'm still upgrading my older projects from 10.3.1 to 10.3.2, and try this as always as sensitive as possible. But it turns out that too many libraries under Android would have been changed. This is my orginal project loaded in 10.3.2 So I'm better off to create a complete new, empty project , and reset all my old values from 10.3.1 step-by-step. In 10.3.2 the libraries looks like this So I try to figure out what would be the best way to make such upgrades, which can be very tricky these days. I know @Uwe Raabe and his ProjectMagician, thanks for that nice tool. There are also OptionSets, MigrationTool, etc., many ways to successfully reset or completely destroy your .dproj files. I want to consider the basic steps here, and hope to get some feedback, how this can be done best (without expecting strange side-effects) in a complex world. Steps to upgrade: Backup your orignal project Create a new, empty multidevice application Remove the Mainform (Unit1) and other from the main form, this will be reset later from the older project. Save and overwrite the Project file to the same .dproj !! Make global settings in Project options\All configurations first, and try to keep minimal changes from there only In later separations of Debug or Release, these changes will be done in the respective configurations later. Adding special libraries, frameworks, etc. needed for the app Adding special ressources/images needed to deploy with the app Setup Search path, version no., bundle identifiers, entitlements, permissions, icons, etc., which shall be global for the whole app Setup special settings, like debug/release store API's, Google maps debug/release API's, etc. in the respective configurations Fixes and workarounds Add the old units and datamodules (I try to minimize these in my projects, so I usually have to add only one main form), and try to restore the old project state Refine and check the settings, and ready to debug, test and deploy This way I evaluated for myself that I have best control over all settings (and there are many which could go wrong in the cross-platform world). Is there probably a better way to automate this process ( ! but please consider that many features might have large incompatibilities from 10.3.1 to 10.3.2), I don't really trust automatisms when it comes to such sensitive data, and when too many changes are there. Do I miss something, is there a more easy "migration tool" out there ? Would be great to hear how you do this usually, and which tools you use.
  14. I have an FMX project that is mainly reading csv files and turns the numerical data into plots (more detailed: measurements over time, with 4 measurements per second). It has been performing "so so" for iOS which caused me to not leave beta phase. Windows performance is way better. That was 10.3.1. Now in 10.3.2 I see almost the same performance in the iOS simulator (still iOS 10.3 only, thought that was being fixed in this release), but on the real device (5th gen iPad) it is way, way slower. I will of course enter lots of stopwatches to check what exactly is costing time, but before that I just wanted to check if anyone else has noticed this as well. Cheers
  15. ertank

    Publishing iOS apps

    Hello, There is an app ready to be put on App Store. That app was previously deployed using another development tool that I do not know. This will be an update for that successor. However, it cannot be deployed using Application Store configuration. As far as I can tell. MacOS already have deployment certificate installed. However, that cannot be seen in Delphi Project options->Deployment-Provisioning There is no problem on deploying using development configuration on a physical iPhone at all. There is no problem on deploying on Simulator as well. None of the documentation that we read so far helped us. There is no problem viewing development certificate on same options page. Any help is appreciated. Thanks & regards, Ertan
  16. Gnostice is pleased to announce the release of Gnostice Document Studio Delphi 19.1.2875. This version includes the Bookmarks Navigation Pane, improved document printing features, and various bug fixes for FMX and VCL Document Viewers. This version also includes fixes for Report Export Interfaces. To know more about Gnostice Document Studio Delphi, please browse to: https://bit.ly/2nKIeDl For the full release notes, please have a look at the following page: https://bit.ly/2vRt2sq To download the trial version, please browse to: https://bit.ly/2zz06Xn Please mail us at support@gnostice.com, if you have any questions. Thank you, The Gnostice DevTools Team https://www.gnostice.com
  17. Sherlock

    Issue with guided access

    Hard to write a catchy title for this one. Sorry about that. So, here's the problem: I have a monitoring app, that is supposed to run 24/7 on a wired iPad in guided access mode, user interactions are a rare thing, it's about watching a live trace of heart rates and such. This has been working OK for the last couple of months. But recently I have received reports, that the iPads screen turns black after about an hour, and the iPad has to be manually "turned on" again. Then the app is back and everything is OK. This leads to two questions: Is anyone aware of changes in iOS auto lock behavior since iOS 12? Can an app trigger an event to make iOS think there has been user interaction and it should not lock the screen? Thanks
  18. Gnostice Document Studio Delphi version 2018 R2 Build 18.2.2831 released with C++Builder support, new SKUs and more. Highlights in this release: - Marketing name changed to Gnostice Document Studio Delphi. This has no impact on code. - SKUs have been reorganized to cater to popular demands. SKUs based on popular demand. - Essential [$250], Professional [$450], and Ultimate [$600] are the new SKUs. - Essential edition replaces ReportExport edition. Customers of ReportExport edition with an active subscription get a free upgrade to Essential. - Ultimate edition includes all features of Professional + 1 full license of Gnostice StarDocs Document Server Viewer edition. - Support for C++Builder. - PDF rendering enhancements and much more. For the full release notes, please have a look at the following page: https://bit.ly/2vRt2sq To know more about Gnostice Document Studio Delphi, please browse to:https://bit.ly/2nKIeDl https://bit.ly/2nKIeDl To download the trial version, please browse to: https://bit.ly/2zz06Xn Please mail us at support@gnostice.com, if you have any questions. Thank you, The Gnostice DevTools Team https://www.gnostice.com #PDF #Delphi #FireMonkey #DocumentStudio #Windows #macOS #iOS #Android
  19. I have strange problem occurring when parsing a JSON string on iOS using the System.JSON library in Berlin. I call TJSONObject.ParseJSONValue() to get a value from the start of a JSON string which has worked fine if I run under Windows. As soon as I run under iOS, the same JSON string causes a null pointer exception. When debugging through, the null pointer is the TJSONObject class itself which is odd as ParseJSONValue() is a class function so don’t know why that would ever happen. I suspect this isn’t really the case and is just what the debugger is interpreting (the iOS debugger in Berlin isn’t great). I suspect the JSON string is too large for the parser as it’s a huge string. My question is whether anyone is aware of a size limit for parsing a JSON string or whether there’s a known issue in the Berlin JSON libraries which might cause this? Unfortunately I can’t provide a sample JSON string as it’s a client’s backup data but hopefully someone will be able to help.
×