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 83 results

  1. I have a FireMonkey application which works fine in an Android. Now I want to build it in iOS. But the problem is, I did never it before. Can someone explain what exactly I have to do? F.e. Mac ot not, if 'yes' - what configuration, OS, iPhone or enough is simulator etc? Simple things for someone with the skills...
  2. Goal: I have configured my app to be opened by some links in iOS, like myapp://lala (using custom scheme), or https://myapp.com/c/lala using universal links, and is already opening my app, but i need to know which url that opened my app. (There is even a tutorial in FMX Express) Problem: I'm trying to handle incoming url from my ios app unsuccessfully. On iOS this should be done by capturing event TApplicationEvent.OpenURL like: procedure TipUrlHandler.ApplicationEventMessageHandler(const ASender: TObject; const AMessage: TMessage); begin case TApplicationEventData(TApplicationEventMessage(AMessage).Value).Event of TApplicationEvent.OpenUrl: HandleUrl(TiOSOpenApplicationContext(TApplicationEventData(TApplicationEventMessage(AMessage).Value).Context).URL); else end; end; Mas o TApplicationEvent.OpenUrl nunca é chamado. So I checked the class TApplicationDelegate in the unit FMX.Platform.iOS.pas in which the TApplicationDelegate.applicationOpenURLWithOptions function should be called every time the app is opened by a url as Apple documents: https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application?language=objc class function TApplicationDelegate.applicationOpenURLWithOptions(self: id; _cmd: SEL; application: PUIApplication; url: Pointer; options: PNSDictionary): Boolean; So I went to check if the applicationOpenURLWithOptions method is being added correctly in TApplicationDelegate.CreateDelegateMetaClass: class procedure TApplicationDelegate.CreateDelegateMetaClass; begin ... // Opening a URL-Specified Resource if TOSVersion.Major >= 9 then class_addMethod(DelegateClass, sel_getUid('application:openURL:options:'), @applicationOpenURLWithOptions, 'B@:@@@@') else ... end; And then I was able to prove it wrong! The number of arguments declared is wrong, as the correct one should be B@:@@@ Then I made the modification to FMX.Platform.iOS.pas, being as follows: class procedure TApplicationDelegate.CreateDelegateMetaClass; begin ... // Opening a URL-Specified Resource if TOSVersion.Major >= 9 then class_addMethod(DelegateClass, sel_getUid('application:openURL:options:'), @applicationOpenURLWithOptions, 'B@:@@@') else ... end; But the TApplicationDelegate.applicationOpenURLWithOptions function is not yet called. What is wrong? @EDIT Sorry! It is working for custom schemes like "myapp://lala" (with or without the correction in FMX.Platform.iOS.pas) but it is not working for universal links like https://myapp.com/c/lalala. Although I have already configured the universal link correctly and when I click on this universal link, the iOS open my app, but the url can't be handle with TApplicationEvent.OpenUrl, but I discovered that the handling of incoming url of a universal link is different: Handling Universal Links
  3. Hi everyone, I’m experimenting with the ability to allow users to change their app icon at runtime in iOS which is officially supported now. I have all the APIs etc to make it work but it requires the alternative icon graphics to be included in the Asset Catalog. The asset catalog is generated by Delphi during build using the Deployment Manager references but I can’t see how to include files in the DM which will be pulled into the Asset Catalog so not sure if it’s possible? Has anyone looked into this or managed to get Delphi to do this for additional images aside from the standard icon files? If not I’ll raise a QP request but wanted to check with the community first. Thanks
  4. Hi all, and my excuses for revisiting an old subject, but I haven't found this particular info. Using my i7 iMac with PAServer 13.1.11.0, Monterey 12.3.1 and XCode 13.3 debugging works as expected for devices with ios 15.4, 15.4.1, and 15.5. However, debugging does NOT work on i9 MacBook Pro with Monterey 12.4 and XCode 13.4.1 for any of the devices with ios 15.4, 15.4.1, and 15.5: I can deploy, start, and run my app, but breakpoints don't work (they appear enabled before pressing F9, but become disabled after pressing F9). I would greatly appreciate if anyone who got the combination of Monterey 12.4, XCode 13.4.1, and iOS 15.5 to work could let me know (including any necessary "tricks" that may be required). Also, I wonder if there really is any difference between Intel and M1 macs in this respect. Best regards, Per
  5. We started porting the Skia4Delphi library to C++Builder and we came across a problem in the static linking of objects, specifically linking the file “/usr/lib/clang/lib/darwin/libclang_rt.ios.a” which is in the SDK path (ex: “C:\Users\<username>\Documents\Embarcadero\Studio\SDKs\iPhoneOS15.2.sdk\usr\lib\clang\lib\darwin\libclang_rt.ios.a”) In Delphi, this linking is very simple to do. We can simply declare a fake method and add the external '/<sdk_sub_path>/<filename>.a', which is exactly what we do in our Delphi implementation: procedure libcompiler_rt; external '/usr/lib/clang/lib/darwin/libclang_rt.ios.a'; In C++Builder however, we didn't find anything similar. So far we've only been able to force this link in two different (but very rudimentary) ways: Method 1 - Configuring project linking: Adding to the project library path “$(BDSPLATFORMSDKSDIR)\<DefaultPlatformSDK>\usr\lib\clang\lib\darwin\” Note: This is necessary because although some SDK paths are automatically passed to the linker, this is not. Adding the command -lclang_rt.ios to the project link The problem with this method is that apparently there is no environment variable for the <DefaultPlatformSDK>, and adding only relative paths, in this case “\usr\lib\clang\lib\darwin\”, doesn't work. We also tried “$(SDKROOT)\usr\lib\clang\lib\darwin\” but to no avail. Method 2 – Adding objects to the project Directly add the file “libclang_rt.ios.a” to the project. It also works, but this is also a bad option. Questions Is there any other way to force link an SDK object in C++Builder? It would be nice to have a simple solution that requires no configuration: #pragma link "/usr/lib/clang/lib/darwin/libclang_rt.ios.a" // But this don't work Would there be any variables we could use to represent the path of the SDK being used? (Ex: “$(SDKROOT)\usr\lib\clang\lib\darwin\”)
  6. Hi all, A generic question. I'm deploying my apps with an embedded SQLite DB. Each time I compile/deploy, that existing on device DB file is overwritten by the default one. It's fine for development. But how do you actually proceed if you want to deploy an update? If a user has the app already with personal data, I don't want her/him to lose that data. Testing whether the DB already exists is not possible since it's deployed each time within the new binary. One way would be to have all the code to check whether the DB exists. If not, programmatically create it and fill it with sample data. If it does, just check its version and apply possible structure upgrades? But it feels like this would embark a lot of code that may not really be useful. How do you guys deploy news versions of your apps without overwriting exists DBs? I especially think about iOS and Android devices. Thanks for any light. Steve
  7. Walter Campelo

    Error deploying IOS Release App

    Dear friends: I am using Delphi 10.4.2 to compile an application for Android and for iOS. For Android it has already been published on Google Play. For iOS I can compile and run the application in development mode on an iPad (4th generation). I created all the certificates and also created a provisioning for the App with Apple through my developer account. But, when I go to perform the deployment I get the following error: [PAClient Error] Error: E0776 2021-10-18 20:57:41.276 xcodebuild[28696:1176276] [MT] DVTPlugInManager: Required plug-in compatibility UUID 42E1F17B-27B3-4DE8-92A8-DC76BA4F5921 for DVTCoreGlyphs.framework (com.apple.dt.DVTCoreGlyphs) not present Does anyone know how to solve this? Reminding that you just need to change the setting to "development" and the App runs on the iPad without problems. Best Regards!
  8. My app uses Firebase Admob support for showing advertisement banners. I developed app with Delphi 10.4.2 using the information from Embarcadero article at https://docwiki.embarcadero.com/RADStudio/Sydney/en/IOS_Firebase_Support and from Dave Nottage's articles regarding Firebase integration with Delphi at https://delphiworlds.com/2017/05/adding-firebase-cloud-messaging-mobile-apps-part-2/ and https://delphiworlds.com/2018/08/firebase-cloud-messaging-revisited/. I uploaded my app to App Store. It is name is "Evdeki Bar". It means "Bar At Home" in Turkish. My app works without problems on IOS 13 , IOS 14 and IOS 15 devices when it is downloaded from App Store. But, When I run from Delphi it does not work with IOS SDK 15.0 and IOS SDK 15.2. It stops executing after showing launch screen and waiting 2-3 seconds. It does not show my first form. I inspected the problem thoroughly, but, I could not found a solution to it. I analyzed device logs for my app. There is no app crash in the logs. I noticed that during launch of my app by PAServer app in Mac, iosinstall task crashes. I tried running app with Delphi 10.4.2 and Delphi 11. The problem exists with the both Delphi versions. I tried with Firebase IOS SDK versions 6.18, 6.19, 6.28, 6,.29, 6.30, 6.31 and 8.10, and problem continues with all of these versions. Firebase IOS SDK 6.31 includes Google Mobile Ads SDK 7.64 which is recommended version for IOS 14.0. I tried XCode 13.0 and XCode 13.2.1 and problem still continues. Moreover, I tried with both Debug and Release configurations. Is there a solution or workaround to this problem?
  9. Michael Collier

    How to: Phone camera frame(s) to server

    Hello, I'm evaluating latest version of Delphi RAD for possible iOS/android phone application. I'd like to be able to use a phone camera (iOS and Android) to take photos (maybe 1 per second) and upload to my server. So.. 1). I found sample project "accessCameraApp" - my first question is.. would this be the component to use for my photo capture? - or should I be using something different? 2) I found internet references to indy components (I have used this in the past), but they are not installed on my component palette (no problem though I guess I can install later), but I did find TNetHTTPClient and TNetHTTPRequest, I was wondering which I should use (indy/TNetHTTPClient or maybe synapse if it is available?) for posting photo frames to my server? (i.e. a php page that saves photo(s) in database BLOB field). Any help to point me in the right direction would be great, it's more about the selection of components that I would need, I have plenty of Object Pascal experience, and I do a lot of camera work using javascript. It's just that the latest set of Delphi tools are new to me. Thanks in advance, Mike
  10. Is anyone managing to use the storyboard launch screen? Here it is only working with the original delphi color and image. When I try to change the background color or the image in the project options, it has no effect.
  11. Fivecord

    Can't use deployed files on iOS

    I'v made an iOS app where I want the user to select the style. In the deployment I have added some fsf-files which have a Remote Path set to StartUp\Documents The style is set via the following code: astylefile := TPath.Combine(TPath.GetDocumentsPath, 'BlackRock_iOS.fsf'); TStyleManager.SetStyleFromFile(astylefile); Then I get the error: Cannot open file "/var/mobile/containers/Data/Application/.../Documents/BlackRock_iOS.fsf". No such file or directory. If I inspect the file appname.app, the folder StartUp/Documents is present with the fsf-files in it, so the files are deployed. Thus something prevents my app to access the files? I tried the same in a blank iOS app, where the styles are applied successful. Anybody an idea of what could be wrong?
  12. Setup is delphi 10.4.2 - xcode 13 - sdk 15 I was finaly able to get instruments to work on my IOS app. (Had to build using developer cert and profile not adHoc) Where I run my app, with Leaks this is what I see for a short timestamp. My question is are all these leaks? How do I relate this to my code? In several cases, the program is just sitting on a screen waiting for user input, but the leak list keep growing. There are no timers in my program. Leaked Object Count Address Size Responsible Library Responsible Frame Malloc 96 Bytes 1 0x285eeaca0 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285f16460 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eeaee0 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eed5c0 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 3 < multiple > 288 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285f164c0 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285f67360 96 Bytes CodeRouteTest 0x100f1221c Malloc 80 Bytes 1 0x281d28500 80 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285f161c0 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 2 < multiple > 192 Bytes CodeRouteTest 0x100f1221c IFMXTextPosition 1 0x2839d6290 16 Bytes CodeRouteTest 0x10104de08 Malloc 96 Bytes 1 0x285f16b80 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285ee8ea0 96 Bytes CodeRouteTest 0x100f1221c IFMXTextPosition 1 0x2839d5c90 16 Bytes CodeRouteTest 0x10104de08 Malloc 96 Bytes 1 0x285f16580 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285ee94a0 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eeba20 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eeb000 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eef420 96 Bytes CodeRouteTest 0x100f1221c IFMXTextRange 1 0x2839d5170 16 Bytes CodeRouteTest 0x10104de08 Malloc 96 Bytes 1 0x285f66460 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eec420 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 2 < multiple > 192 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285ee9020 96 Bytes CodeRouteTest 0x100f1221c Malloc 80 Bytes 1 0x281d284b0 80 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285ee8a80 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eead00 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285ee2340 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eed680 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285eead60 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285f163a0 96 Bytes CodeRouteTest 0x100f1221c Malloc 96 Bytes 1 0x285f16ac0 96 Bytes CodeRouteTest 0x100f1221c UICTFontDescriptor 1 0x285f17ae0 96 Bytes UIFoundation -[UIFontDescriptor _swapWithFontAttributes:options:] UICTFontDescriptor 1 0x285ee5200 96 Bytes UIFoundation -[UIFontDescriptor _swapWithFontAttributes:options:] Malloc 80 Bytes 1 0x281d280f0 80 Bytes CodeRouteTest 0x100f1221c
  13. I submitted my iOS app to App store but rejected. The reason is my app prompts error when user refuse allow the location service. I test this scenario and found that if user not authorise the location service when first installing the app, it would have a dead loop prompting error “ Unauthorized to user location services”. My app stuck there and cannot proceed further. I discovered the reason for the dead looping. I start the location sensor (LocationSensor.Active := True) when the application started. Due to unknown reason, may be network problem, it cannot send back any location data some time. I followed suggestion on the Stack Overflow to put the LocationSensor.Active := True in a timer event, keep looping until location data coming out. This method works quite good. However, this method is not really detecting the location service is on/off, it just working when the sensor has some delay in reading location data. Is there a function to detect the iOS location service is on or off ? B.R. Leo
  14. Hello, everyone! English is not my first language, so please be kind to my mistakes ... but I'll try explain my problem. In my app need intercept swipe gesture. I read links in Apple Dev portal, more read codes on swift and objective-c different people on stackoverflow portal, and finally read delphi codes and delphi sources in RAD Studio ... But a week of torment has passed and nothing comes of it. Please tell me what is the problem? My code worked, but crashed after Result := True in shouldBegin function! I not understand why? What is it magic? If something like that is in the source code of the RAD Studio, why my app receive Access violation? I think problem in this line code: FSwipeRecognizer.initWithTarget(GetObjectID, sel_getUid('HandleSwipe:')); I guess because my app or system not see procedure HandleSwipe. My full code: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, iOSapi.Foundation, iosapi.UIKit, iOSapi.CocoaTypes, FMX.Platform.iOS, Macapi.ObjCRuntime, Macapi.ObjectiveC, iOSapi.CoreGraphics, FMX.Helpers.iOS, iOSapi.WebKit, FMX.WebBrowser, Macapi.Helpers, FMX.Gestures, FMX.VirtualKeyboard.iOS; type TDelegateTouch = class; TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } FSGRDelegate: TDelegateTouch; public { Public declarations } end; TDelegateTouch = class(TOCLocal, UIGestureRecognizerDelegate) private FSwipeRecognizer: UISwipeGestureRecognizer; constructor Create; public { UIGestureRecognizerDelegate } destructor Destroy; procedure HandleSwipe(gestureRecognizer: UISwipeGestureRecognizer); function gestureRecognizer(gestureRecognizer: UIGestureRecognizer; shouldReceiveTouch: UITouch): Boolean; overload; cdecl; function gestureRecognizer(gestureRecognizer: UIGestureRecognizer; shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer): Boolean; overload; cdecl; function gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer): Boolean; overload; cdecl; end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); begin FSGRDelegate := TDelegateTouch.Create; end; { TDelegateSwipeTouch } constructor TDelegateTouch.Create; var UI: UIView; SGR: UISwipeGestureRecognizer; UIGest: Pointer; Int: Integer; ViewClass, FM1, FM2: Pointer; begin inherited; FSwipeRecognizer := TUISwipeGestureRecognizer.Alloc; FSwipeRecognizer.initWithTarget(GetObjectID, sel_getUid('HandleSwipe:')); //FSwipeRecognizer.setDelaysTouchesBegan(False); //FSwipeRecognizer.setCancelsTouchesInView(True); FSwipeRecognizer.setDirection(UISwipeGestureRecognizerDirectionLeft); UI := WindowHandleToPlatform(Form1.Handle).View; UI.addGestureRecognizer(FSwipeRecognizer); //UI.setMultipleTouchEnabled(True); end; function TDelegateTouch.gestureRecognizer( gestureRecognizer: UIGestureRecognizer; shouldReceiveTouch: UITouch): Boolean; begin Result := gestureRecognizer.isKindOfClass(objc_getClass('UISwipeGestureRecognizer')); end; destructor TDelegateTouch.Destroy; begin FSwipeRecognizer.release; inherited; end; function TDelegateTouch.gestureRecognizer(gestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer: UIGestureRecognizer): Boolean; begin Result := NSObjectToID(shouldRecognizeSimultaneouslyWithGestureRecognizer.view) = NSObjectToID(gestureRecognizer.view); end; function TDelegateTouch.gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer): Boolean; var RecognizerClassName: MarshaledAString; begin RecognizerClassName := class_getName(object_getClass(NSObjectToId(gestureRecognizer))); Result := RecognizerClassName = 'UISwipeGestureRecognizer'; end; procedure TDelegateTouch.HandleSwipe(gestureRecognizer: UISwipeGestureRecognizer); begin //if gestureRecognizer.state = UIGestureRecognizerStateEnded then begin ShowMessage('Test'); //end; end; procedure TForm1.FormDestroy(Sender: TObject); begin FSGRDelegate.Free; end; end. P.S. Part of the code was taken from the FMX.Platfom.iOS module. My equipment iPhone 11 iOS 14.5, MacBook Pro 13 Big Sur 11.2.3 with XCode 12.5, RAD Studio 10.4.2. Thanks everyone for the answers.
  15. Hi, I believe it is getting on for 18 months since a Community Edition of Delphi was released... I'm working on getting a completely free App into the AppStore - an App with absolutely no tracking - but App Store Connect is now warning me for TestFlight that "starting April 26, 2021 iOS apps submitted to the App Store must be built with the iOS 14 SDK or later, included in Xcode 12 or later." I'm really grateful to Embarcadero for the Community Edition. But I find it really hard to keep up with Apple development. And I wonder whether there are any workarounds for getting my App to build on Xcode 12 instead of Xcode 11.5. (I can live without debugging on iOS. I just want to be able to generate an IPA file that can be submitted via TestFlight.) IDE Delphi Community Edition 10.3.3 MacOS Catalina I wonder whether a new Community Edition is coming? If anyone has managed to get 10.3.3 to compile for iOS14, please help! I daren't update my iPad from 13.5 unless I know it will really work. Best wishes!!
  16. Hi, I'd like to use custom fonts for my multi-device app. I chose the roboto font, and for Android deploy there is no problem. The problem is with the iOS deploy, I addedd the roboto .ttf files at the Deployment page and I edited the "info.plist.TemplateiOS.xml" adding this section: <key>UIAppFonts</key> <array> <string>Roboto-Black.ttf</string> <string>Roboto-BlackItalic.ttf</string> <string>Roboto-Bold.ttf</string> <string>Roboto-BoldItalic.ttf</string> <string>Roboto-Italic.ttf</string> <string>Roboto-Light.ttf</string> <string>Roboto-LightItalic.ttf</string> <string>Roboto-Medium.ttf</string> <string>Roboto-MediumItalic.ttf</string> <string>Roboto-Regular.ttf</string> <string>Roboto-Thin.ttf</string> <string>Roboto-ThinItalic.ttf</string> </array> However when I install and run the app in the iPhone the app show the default font. What I'm wrong?
  17. My app pop up "Access violation at address 000000001BB022128, accessing address 000030312E353820" error in iPhone. Android works perfectly without this error. This error pops up when 1. Run the app 2. Press the home button (my app still running in background) 3. Run other apps 4. Go back to my app 5. Error popup. It is quite strange that my development device iPhone 6S never shows this error. All my other testing devices, from iPhone 7 ~ iPhone X, pop this error! This error exists since XCode 11. I updated it to XCode 12.4 hope that this error can be solved, but no luck! My development environment is 1. Delphi 10.4.1 2. iOS 13.7 3. XCode 12.4 4. macOS Big Sur 5. My app uses a location sensor component and timer components to activate the location sensor when loading up the App. (I want to try it in iOS 14.4 but cannot successfully get the iOS 14 SDK add to the SDK manager. Files in Z:\Documents\Embarcadero\Studio\SDKs\iPhoneOS14.4.sdk\usr\lib are in 0 byte. I tried it from XCode 12.0 to 12.3. All failed. I think it should be a bug in Delphi IDE. Only my old iOS 13.7 SDK is still working.) Does anyone know what causes this access violation error? Please help! BR. Leo
  18. Hi there, I had some time to check out the great OpenSsl library from Grijjy / @Allen@Grijjy, and I found that its working even without binding any libraries to it. The original FMX sample showed some issues, so I just created a brand new Rx10.4.1 project and moved the main unit to it. Beside the Grijjy Foundation, I've put no static linked files yet in the deployment, to check this library out step-by step. Of coarse for Win32 I need the enclosed DLL's in the EXE folder, that's no surprise. It puzzled me that for Android and iOS, as well as for Macos, I don't need to add any library at all to the library tree/deployment Even in Allens post, there is the note, I've misinterpreted that it should be added directly to the projects library tree, or by deployment manager or some other hacky means: Also Embarcadero has notes about OpenSsl, Which leads to the conclusion at least iOS would need some external download of static libraries. In the libraries const section, I can spot the different static/dynamic names, but where and do they bind to ? const {$IF Defined(WIN32)} LIB_CRYPTO = 'libcrypto-1_1.dll'; LIB_SSL = 'libssl-1_1.dll'; _PU = ''; {$ELSEIF Defined(WIN64)} LIB_CRYPTO = 'libcrypto-1_1-x64.dll'; LIB_SSL = 'libssl-1_1-x64.dll'; _PU = ''; {$ELSEIF Defined(ANDROID64)} LIB_CRYPTO = 'libcrypto-android64.a'; LIB_SSL = 'libssl-android64.a'; _PU = ''; {$ELSEIF Defined(ANDROID32)} LIB_CRYPTO = 'libcrypto-android32.a'; LIB_SSL = 'libssl-android32.a'; _PU = ''; {$ELSEIF Defined(IOS)} LIB_CRYPTO = 'libcrypto-ios.a'; LIB_SSL = 'libssl-ios.a'; _PU = ''; {$ELSEIF Defined(MACOS32)} LIB_CRYPTO = 'libssl-merged-osx32.dylib'; { We unify LibSsl and LibCrypto into a common shared library on macOS } LIB_SSL = 'libssl-merged-osx32.dylib'; _PU = '_'; {$ELSEIF Defined(MACOS64)} LIB_CRYPTO = 'libcrypto-osx64.a'; LIB_SSL = 'libssl-osx64.a'; _PU = ''; {$ELSEIF Defined(LINUX)} LIB_CRYPTO = 'libcrypto.so'; LIB_SSL = 'libssl.so'; _PU = ''; {$ELSE} {$MESSAGE Error 'Unsupported platform'} {$ENDIF} I've put my test code as a wrapper around the original code, basically just adding the new project files. It seems the magic happens, because the libraries were sitting all side-by-side to the calling unit. The OpenSSL_Api unit find these local files in the same folder, and is able to bind them correctly. I didn't know that this is possible, I thought they have to be in the same project folder, and at least cross-platform make another hazzle to bind depending on the OS. Good to know that its enough to provide library+unit together, that gives much more room to cleanup libraries. I've put my wrapper code enclosed for testing, while the originally library files from Grijjy should be placed in the Src folder. The missing files you can get from here. I hope Allen don't mind. T381_GrijjySsl.zip
  19. zburns

    WatchOS

    Has anybody built an app with Rad Studio, and done a WatchOS bundle? Just wonder what the process is and if it is possible.
  20. Hi there, this is another chapter of my daily issues with Apple: Suddenly the update of IPA to AppStore of an formerly running app failed, when using the Transporter. I usually keep my Transporter open for days and weeks, maybe that causes sometimes an issue. From my research for this error I found a few possible reasons and solutions in the web, where I've tried to re-boot my VM first. Solution: 1. Just relaunch Transporter app, or quit and re-enter it again. (not tested, but sound reasonable). 2. Try completely shutting down your device and then turning it back on and trying. (I've tried this one). 3. Check the matching case of the SKU for new apps: E.g. "com.company.appName" wasn't accepted. If changed to "com.Company.AppName", matching the AppStore entry, it works. Sometimes solutions can be so easy, but I hardly see the easy one's very often 😥
  21. Hello everyone, Please tell me, how do I use “Pushkit “? How do I register a “Token”? And how do I send a notification
  22. Hi all, I've been trying to integrate Facebook Audience Network into my Firemonkey app for ads and I'm getting a very strange error when linking for iOS. I use the "fake loader" approach to linking the framework. const libFBSDKCoreKitBasics = 'FBSDKCoreKit-Basics.framework/FBSDKCoreKitBasics'; //required as it's a dependency for the FBAN library libFBAudienceNetwork = 'FBAudienceNetwork-5.2.0.framework/FBAudienceNetwork'; function LibFBCoreKitBasics: Pointer; cdecl; external libFBSDKCoreKitBasics name 'OBJC_CLASS_$_FBSDKURLSessionTask'; function LibFBAN: Pointer; cdecl; external libFBAudienceNetwork name 'OBJC_CLASS_$_FBNativeAdView'; The error when I try to link, is this: ld: file is universal (4 slices) but does not contain a(n) arm64 slice: ..\Libraries\FBAudienceNetwork-5.2.0.framework/FBAudienceNetwork for architecture arm64 I've Googled and the only reference to this kind of error is related to armv7 when trying to link frameworks into a 64bit app that only contain 32bit versions. So I try building a 32bit version of my app in Delphi and see: ld: file is universal (4 slices) but does not contain a(n) armv7 slice: ..\Libraries\FBAudienceNetwork-5.2.0.framework/FBAudienceNetwork for architecture armv7 Which doesn't make any sense! It looks like the FBAudienceNetwork framework is essentially empty with neither 32 or 64bit code which can't be true as it's 1.7Mb and fresh from the official download page. I've tried different versions of the framework but get the same error each time so I've ruled out a corrupted download. I've tried linking through the "Linker Options" in the project settings instead but get the same errors. Linking the FBSDKCoreKit libraries works using the same approach. Does anyone have any ideas or know why I'm getting this error? Thanks in advance!
  23. Martifan

    CoreAnimation Error

    Hello, I have a problem like this: after switching from background to foreground, the application freezes for 8-10 seconds, and then continues to work and gives an error in the logs: CoreAnimation: warning, deleted thread with uncommitted CATransaction; set CA_DEBUG_TRANSACTIONS=1 in environment to log backtraces, or set CA_ASSERT_MAIN_THREAD_TRANSACTIONS=1 to abort when an implicit transaction isn't created on a main thread. what is the problem and how to solve it? thanks in advance
  24. PavelX

    iOS libcrypto.a, libssl.a

    Hi, Do any of you known from where I can download libcrypto.a, libssl.a for iOS device 64? Thank you in advance, Pavel
  25. Martifan

    silent phone mode

    Hello Please tell me how to check the silent mode on the iPhone or not? any ideas thank you in advance
×