-
Content Count
1491 -
Joined
-
Last visited
-
Days Won
36
Everything posted by Dave Nottage
-
Java type JExoPlayer_Builder could not be found
Dave Nottage replied to xorpas's topic in Cross-platform
Which version of Delphi are you using, and which target? i.e. Android 32-bit, or Android 64-bit? If you're using Delphi 11.3 and are compiling for Android 64-bit, please see this link. -
This is GetIt Package Manager configured to show what patches/hotfixes are available, and an arrow pointing to what to select to show whether updates are available:
-
Seeking help to make Geofencing on Android work in a Delphi app
Dave Nottage posted a topic in Cross-platform
Background: I'm working on an implementation of Geofencing on Android, based on this documentation: https://developer.android.com/training/location/geofencing ..and based on their example on Github: https://github.com/android/location-samples/tree/master/Geofencing To be able to help with this, you will likely need some Java skills, and know about Android intents and receivers. I don't know completely everything about them, hence the request for help Demo: I've attached the work in progress demo, which should compile as-is, i.e. it should not be dependent on anything - it uses files from Kastri, but I have copied them into the project. I've also included the source for the Java parts, as a reference. The corresponding binary is dw-geofence.jar, which is included in the Lib folder of the project. The demo sets up 3 geofence regions. Tapping the Start button first requests location permissions - in order for geofencing to work, you need to tap on "Allow in settings": ..and select the "Allow all the time" option: (then tap the back arrow at the top) If geofence starts successfully, a message will appear in the memo: Action: 1, Result: 0, Message: (Action of 1 = start monitoring, Result of 0 = success) Simulating changes in location: So that you don't actually have to physically move anywhere, fortunately on Android it is possible to simulate location changes by using a "mock gps" app, such as this one: https://play.google.com/store/apps/details?id=org.hola.gpslocation Once installed, you need to go into the Developer Options of the Settings app on the device, and set the mock locations app: Then use the mock locations app to change your location to one of the geofence regions created by the AddRegions method of TMainView in AG.View.Main in the project. The problem I find that when moving into/out of the regions, the GeofenceIntentReceiver is not being "triggered", i.e. onReceive is not being called. If someone is able to help, it would be greatly appreciated. AGDemo.zip -
Delphi 12 Android - White background at start
Dave Nottage replied to Juande's topic in Cross-platform
I'm curious as to what settings you changed to disable the splash screen. I can't work it out - I unchecked "Include Splash Images" but it still shows the splash. I guess there's more to it than that? -
Compiler options and corresponding dproj entries
Dave Nottage posted a topic in RTL and Delphi Object Pascal
I'm looking at extracting compiler options from .dproj files, and looked for an existing "map" of options to PropertyGroup entries, but came up blank, so I figured I'd create one. I'm hoping that others could help verify what I've come up with as well as fill in some blanks. The following was created from the output of the help from dcc32, and from looking through the DCCStrs unit for what appears to match. The value from DCCStrs is on the line following each option. The numbers after some of the DCCStrs value are what also appear in the DCCStrs source. Those I couldn't match are signified with: ??? Compiler Options: -A<unit>=<alias> = Set unit alias DCC_UnitAlias -B = Build all units DCC_BuildAllUnits -CC = Console target DCC_ConsoleTarget -CG = GUI target ??? -D<syms> = Define conditionals DCC_Define -E<path> = EXE/DLL output directory DCC_ExeOutput -F<offset> = Find error DCC_FindError -GD = Detailed map file DCC_MapFile -GP = Map file with publics DCC_MapFile -GS = Map file with segments DCC_MapFile -H = Output hint messages DCC_Hints -I<paths> = Include directories DCC_IncludePath -J = Generate .obj file DCC_ObjOutput -JPHNE = Generate C++ .obj file, .hpp file, in namespace, export all ??? -JL = Generate package .lib, .bpi, and all .hpp files for C++ ??? -K<addr> = Set image base addr DCC_ImageBase -LE<path> = package .bpl output directory DCC_BplOutput -LN<path> = package .dcp output directory DCC_DcpOutput -LU<package> = Use package DCC_UsePackage -M = Make modified units DCC_MakeModifiedUnits -NU<path> = unit .dcu output directory DCC_DcuOutput -NH<path> = unit .hpp output directory DCC_HppOutput -NO<path> = unit .obj output directory DCC_ObjOutput -NB<path> = unit .bpi output directory DCC_BpiOutput -NX<path> = unit .xml output directory DCC_XmlOutput -NS<namespaces> = Namespace search path DCC_Namespace -O<paths> = Object directories DCC_ObjPath -P = look for 8.3 file names also DCC_OldDosFileNames -Q = Quiet compile DCC_Quiet -R<paths> = Resource directories DCC_ResourcePath -TX<ext> = Output name extension DCC_OutputExt -U<paths> = Unit directories DCC_UnitSearchPath -V = Debug information in EXE DCC_DebugInfoInExe -VR = Generate remote debug (RSM) DCC_RemoteDebug -VT = Debug information in TDS DCC_DebugInfoInTDS -VN = TDS symbols in namespace ?? -W[+|-|^][warn_id] = Output warning messages DCC_Warnings -Z = Output 'never build' DCPs DCC_OutputNeverBuildDcps -$<dir> = Compiler directive DCC_Define Compiler Toggles: A8 Aligned record fields DCC_Alignment (0, 1, 2, 4, 8) B- Full boolean Evaluation DCC_FullBooleanEvaluations C+ Evaluate assertions at runtime DCC_AssertionsAtRuntime D+ Debug information DCC_DebugInformation (0, 1, 2) [Depending on platform?] G+ Use imported data references DCC_ImportedDataReferences H+ Use long strings by default DCC_LongStrings I+ I/O checking DCC_IOChecking J- Writeable structured consts DCC_WriteableConstants L+ Local debug symbols DCC_LocalDebugSymbols M- Runtime type info DCC_RunTimeTypeInfo O+ Optimization DCC_Optimize P+ Open string params DCC_OpenStringParams Q- Integer overflow checking DCC_IntegerOverflowCheck R- Range checking DCC_RangeChecking T- Typed @ operator DCC_TypedAtParameter U- Pentium(tm)-safe divide DCC_PentiumSafeDivide V+ Strict var-strings DCC_StrictVarStrings W- Generate stack frames DCC_GenerateStackFrames X+ Extended syntax DCC_ExtendedSyntax Y+ Symbol reference info DCC_SymbolReferenceInfo (0, 1, 2) [Depending on platform?] Z1 Minimum size of enum types DCC_MinimumEnumSize (1, 2, 4) -
The biggest problem is when you create descendant forms (i.e. at design-time) where the ancestor contains frames. Otherwise, for me they're totally fine.
-
Which forum posts, and which tutorials? Sounds on Android are no longer associated with the notification itself, rather they are now associated with the channel via the SoundName property. Note that you need to add the mp3 file to the deployment using a RemotePath of res\raw, and use the filename without the extension for the SoundName on the channel, e.g. for mysound.mp3, use a value of mysound for SoundName. On iOS, you need to deploy the sound file with a RemotePath of .\, and use the actual filename for SoundName on the notification (i.e. not the channel)
-
Is using the Console app to view log statements not an option?
-
How to rearrange projects in projects group file?
Dave Nottage replied to Robert Gilland's topic in Delphi IDE and APIs
Select a project in Project Manager, use Ctrl-Up or Ctrl-Down to move it up/down the list -
Thread does not synchronize two times in macOS
Dave Nottage replied to Nick Blunda's topic in Cross-platform
Looks like a bug - In the TPlatformCocoa.ShowWindowModal method in FMX.Platform.Mac, it never calls CheckSynchronize inside of the loop. In Delphi 12, modifying FMX.Platform.Mac.pas starting at line 4855: while True do begin CheckSynchronize; // <--- Add this line Fixes it. -
Delphi 12 can not find /usr/lib/swift/libswiftUIKit.dylib
Dave Nottage replied to kabiri's topic in Cross-platform
Thanks.. I've updated the readme now. -
Delphi 12 can not find /usr/lib/swift/libswiftUIKit.dylib
Dave Nottage replied to kabiri's topic in Cross-platform
Which has changed in the last few weeks, and is now dependent on AppTrackingTransparency. See the updated readme. -
Delphi 12 can not find /usr/lib/swift/libswiftUIKit.dylib
Dave Nottage replied to kabiri's topic in Cross-platform
Which program? What libraries is your program using? -
Delphi 12 can not find /usr/lib/swift/libswiftUIKit.dylib
Dave Nottage replied to kabiri's topic in Cross-platform
If your project requires AppTrackingTransparency, you also need to add that framework to the SDK, as per these instructions. -
Example code for how to do it: uses Macapi.AppKit, Macapi.Helpers; procedure TForm1.Button1Click(Sender: TObject); var LMenu: NSMenu; LIndex: Integer; begin LMenu := TNSApplication.Wrap(TNSApplication.OCClass.sharedApplication).mainMenu; LIndex := LMenu.indexOfItemWithTitle(StrToNSStr('Window')); if LIndex > -1 then LMenu.itemAtIndex(LIndex).setHidden(True); end;
-
Delphi 12 can not find /usr/lib/swift/libswiftUIKit.dylib
Dave Nottage replied to kabiri's topic in Cross-platform
You should not have to manually create missing folders. Even if you did, the files that the compiler needs would not be there. If there was a missing PrivateFrameworks folder, you may have to re-import the SDK using these steps: In the folder C:\Users\(username)\Documents\Embarcadero\Studio\SDKs, where (username) is the logged in user name, delete the relevant iPhoneOS SDK folder (e.g. iPhoneOS17.2.sdk) Delete the SDK from the SDK Manager in Delphi On the Mac, in the ~\PAServer\scratch-dir folder, remove any folders starting with cache-dir In Delphi, re-add the iOS SDK Repeat the steps mentioned earlier for importing Swift frameworks, ensuring that you also follow the manual step involving copying of folders. -
Delphi 12 can not find /usr/lib/swift/libswiftUIKit.dylib
Dave Nottage replied to kabiri's topic in Cross-platform
Did you follow and/or check the instructions in my earlier reply? -
iOS Upgrade from Xcode 14.3.1 to XCode 15.2: Yes or No ?
Dave Nottage replied to Rollo62's topic in Cross-platform
You're not going to be able to debug on iOS 17 devices using Delphi until EMBT fix it, regardless of the Xcode version. If you need debugging on real devices, use one with iOS 16.x (if you can find one) -
iOS Upgrade from Xcode 14.3.1 to XCode 15.2: Yes or No ?
Dave Nottage replied to Rollo62's topic in Cross-platform
I might have, if I needed to use Xcode 14.3.1 - I have read back trying to work out why you need to. Delphi 11.3 and 12 works with Xcode 15.2 for me, aside from debugging with iOS 17 devices (as you discovered - known issue, yet to be resolved) -
Is it possible to stream my phone to my laptop?
Dave Nottage replied to JohnLM's topic in General Help
Not OBS (at least as far as I can tell), but I use this on Android: https://play.google.com/store/apps/details?id=com.ipphonecamera&hl=en&gl=US I thought they had an iOS version, but I could be mistaken. Can't seem to find it on the App Store. -
Get Unique Device Identifier under iOS Delphi 12
Dave Nottage replied to Levente's topic in Cross-platform
On iOS, it is common practice to use the identifierForVendor method of the UIDevice class. This value is guaranteed to remain the same for the life of the install (i.e. if the user uninstalls/re-installs your app, it may change). This code shows how to obtain it as a string. -
Weird error on latest SVN source release build with D12 (fix versio)
Dave Nottage replied to Tommi Prami's topic in GExperts
Just the DLL? Builds for release OK here. GExpertsRS120.zip -
Current state of the Embarcadero services
Dave Nottage replied to Lars Fosdal's topic in General Help
Working OK here in 12.0. They're apparently still working on resurrecting GetIt for 11.x -
android Delphi Android Intent while App is active creates black screen
Dave Nottage replied to DominikR's topic in FMX
Must be having memory issues - see this QP report. My only excuse is that it's from May last year.