-
Content Count
1613 -
Joined
-
Last visited
-
Days Won
37
Posts posted by Dave Nottage
-
-
11 minutes ago, Shano said:I CANNOT build for debug and deploy to an iOS device
It would help to know what error messages there are, if any. Also, please indicate what happens when you follow these steps:
- Open the Project Options for your project
- On the left, select Deployment > Provisioning
- Select the relevant target i.e. iOS Device 64-bit
- Select a Build type of: iOS Device 64-bit - Development
Then report whether or not a relevant provisioning profile is found
-
8 hours ago, apachx said:Is it possible to migrate to Google Play Billing Library version 7.0.0 or newer in Delphi 12.1 CE?
Possibly. Note that I am unsure as to whether the following will work, since I have not tested it. The steps are quite involved, so please take this into account before proceeding.
In theory, the steps are to obtain the required .jar files, i.e.
billing-7.0.0.jar
play-services-base-18.3.0.jar
play-services-basement-18.3.0.jar
play-services-tasks-18.1.0.jar
Which is the updated billing jar (of course), however the others are the versions of the jars that billing-7.0.0.jar is dependent on, of which Delphi 12.1 uses earlier versions. If you go to the Maven Repository site:
https://mvnrepository.com/artifact/com.android.billingclient/billing/7.0.0You can see the dependencies listed, as well as a link to the .aar file (which are in .zip format) that contains a classes.jar file that corresponds to billing-7.0.0.jar, i.e. you can rename the .aar to .zip, extract classes.jar and rename it to billing-7.0.0.jar.
If you follow the links to the dependent jars (the links in the Version column of the dependencies list) - just the ones I have listed above, you can repeat the process of downloading the .aar, rename it to .zip, extract classes.jar and rename it to the relevant name.
The next step would be to disable the "default" jars in Project Manager for your project, by navigating to Libraries node under the Android 32-bit target, right-clicking billing-6.0.1.dex.jar and clicking Disable, repeating this for play-services-base-18.1.0.dex.jar, play-services-basement-18.1.0.dex.jar and play-services-tasks-18.0.2.dex.jar, the repeat the process for the Android 64-bit target.
Then, you would need to add the replacement jar files to the Android 32-bit target (they will not need to be added to Android 64-bit) by right-clicking the Libraries node, clicking Add, selecting the replacement jar files (listed above) and clicking OK.
Next, you would need to edit the AndroidManifest.xml file in the project output folder (i.e. not AndroidManifest.template.xml), because Delphi 12.1 would be generating this line: (at least in theory - I do not have Delphi 12.1)
<meta-data android:name="com.google.android.play.billingclient.version" android:value="6.0.1" />
Which will need to be changed to this:
<meta-data android:name="com.google.android.play.billingclient.version" android:value="7.0.0" />
You would need to save this edited AndroidManifest.xml file somewhere convenient, perhaps in the root folder of your project. It needs to be added to the deployment of the project using Deployment Manager (Project | Deployment from the main menu in Delphi). You may note that there is an existing entry for the local name of AndroidManifest.xml. You will need to disable this existing entry by unchecking the checkbox, e.g:
..then add the modified version by clicking the button second from the left, and selecting the edited AndroidManifest.xml file. Note that if you later make any changes to your project that affect the Android manifest, you will need to repeat the manifest edit/copy steps.Hopefully, that should complete all the steps. Please remember the warning I made at the beginning 🙂
-
5 minutes ago, Rollo62 said:there is also a nice tool Bruno
I had been working on a tool of my own (Slumber) but this looks like it will do pretty much everything I visioned. Thanks!
-
1
-
-
1 hour ago, pyscripter said:I would appreciate some help in testing with MACOS.
I tested it on macOS using this command:
"/Applications/PAServer-23.3.app/Contents/MacOS/iosinstall" -q -c -t 5 -W
Which ran as expected. This is the command PAServer issues when it wants to detect what devices are visible to the Mac.
One thing to note: in the docs on your repo, it suggests using this in the OnRead (of which the parameters in the example do not match the actual source):
TEncoding.ANSI.GetString(Bytes)
Which might work elsewhere, but on macOS this works:
TEncoding.Default.GetString(Bytes)
-
1
-
1
-
-
2 hours ago, limelect said:I will wait for Delphi 13, maybe it will be better
There are many developers using Delphi 12 (including CE, based on Delphi 12.1) including deploying to Android. Yes, there can be issues with setting up the Android SDK, however it appears you're not actually following instructions properly. Your previous message:
12 hours ago, limelect said:The error saise
Cannot locate sdk api level in this path.....
Has nothing to do with the problem being discussed at the time, namely the installation and configuring of the JDK (note: Not SDK/NDK - they are separate things). Once the supported JDK is installed, the SDK/NDK should install correctly. As mentioned before, it may involve having to uninstall the SDK/NDK item first, then reinstall.
-
1 minute ago, limelect said:Yes, I started by checking the Java path but on the 32 it does not allow me to change
Not sure what you mean by: "does not allow me to change". The edits for the Java settings are read only?
-
4 minutes ago, RDP1974 said:had done a look to Ganymede beta:
Part of the NDA you agreed to when you signed up was to not publicly mention that you are participating in the beta, nor any details about it, so you have already broken your NDA.
-
1
-
1
-
1
-
-
1 minute ago, limelect said:It is a mess; most directories are bad
Did you follow the instructions at that link I gave? First, you should check whether or not the settings on the Java tab of the Android SDK settings match. If installing Delphi 12 CE, the version for the Eclipse Adoptium JDK might be slightly different. If the path does not even point to an Eclipse Adoptium JDK, you will need to install it, based on the other instruction at that link, i.e.
"Use Tools | Manage Features in the Delphi menu to ensure that the Eclipse Temurin OpenJDK 17 (it appears on the right of the Manage Features window, towards the bottom)"
Once you have the correct JDK installed, Delphi should be able to install the SDK/NDK successfully. You may need to use Tools | Manage Features to remove the SDK/NDK first, then reinstall the SDK/NDK -
8 hours ago, dmitrybv said:How can I programmatically determine the edition of RAD Studio 12.3?
From within the IDE? Use IOTAVersionSKUInfoService. Example:
var LSKUInfoService: IOTAVersionSKUInfoService; begin LSKUInfoService := BorlandIDEServices as IOTAVersionSKUInfoService; Label1.Caption := Format('SKU: %s (%d)', [LSKUInfoService.SKUName, LSKUInfoService.SKU]); end;
Oddly, for SKU the docs say:
/// <summary> /// Return SKU identifier, possible values are: /// /// Professional = 2 /// Professional C/S = 3 /// Enterprise = 4 /// Architect = 5 /// CommunityEdition = 128 /// </summary>
..but in my install of Delphi (Enterprise), it returns 52. The SKUName value appears to be correct for me, though
-
-
2 minutes ago, EugeneK said:"please check your spam folder first, and then reach out to your Embarcadero sales representative or reseller, to ask for a new invite."
I'm tagging @Ian Barker to see if can help. -
23 minutes ago, domus said:Culprit was the BringToFront procedure, which appears to be one million times slower in Delphi 12.1 compared to 11.
There does not appear to have been anything changed in relation to BringToFront between (at least) 11.3 and 12.1, unless I missed something in the downstream calls. Can you provide code that reproduces the problem?
-
3 hours ago, limelect said:the link to Java is false
Then you'll need to follow this instruction:
9 hours ago, DelphiUdIT said:install to bundle Java runtime (Adoptium) go to "Manage Features" from IDE and check the "Adoptium ..." box in the listed choices.
-
1 hour ago, Peter M said:Directory does not exist: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/PrivateFrameworks/UIFoundation.framework/
You may need to follow these steps:
- Delete the SDK folder under: C:\Users\(username)\Documents\Embarcadero\Studio\SDKs
- 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 SDK
-
1
-
3 hours ago, Chris Pim said:I searched but couldn’t find one
You need to improve your search skills 😉
-
1
-
-
4 hours ago, Paul12 said:I have allready added Intent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION); to the intent but that does not help.
It might help to show the rest of your code
-
11 hours ago, ToddFrankson said:Should it exist in the Cache-Dir-.... Directory too?
Not for the purposes of compiling - the SDK files in the SDKs folder on the Windows machine are what is used
-
1 minute ago, ToddFrankson said:It seems that if I change the SDK (IOS Simulator) back and forth a few times, from 18.4 to 18.5, it goes away in some cases.
It's easy enough to check whether or not the file exists in each case - it's not like the linker randomly chooses whether to believe it does.
In. my case, the file that the linker is referring to is in: C:\Users\dave\Documents\Embarcadero\Studio\SDKs\iPhoneSimulator18.5.sdk\System\Library\PrivateFrameworks\DocumentManager.framework
-
35 minutes ago, ToddFrankson said:Now I can deploy new blank projects to IOS Simulator, but the first project still gives the same error...
Exactly the same error? i.e. ld: file not found: /System/Library/PrivateFrameworks/DocumentManager.framework/DocumentManager for architecture arm64
If so, the SDK still has not imported properly. You may need to delete the SDK folder, then remove the cache-dir- folders, then re-import. If the folder still doesn't import there's some issue at play I've not seen before.
-
9 hours ago, ToddFrankson said:PAServer 14.3.14.5
I've since remembered that the new PAServer was actually in the patch folder. I've installed it now, but same result: the apps work.
-
9 minutes ago, ToddFrankson said:PAServer 14.3.14.5
macOS PAServer version? It's still 14.3.14.2 for the May patch. At least it is for me.
11 minutes ago, ToddFrankson said:IOS 18.5 SDK
A blank application built against this SDK works OK for me...
12 minutes ago, ToddFrankson said:IOS 18.5
..for a device with this iOS version.
-
7 hours ago, ToddFrankson said:Even a blank new Multi-Platform Project? Splash screen shows, then app closes
If it were being caused by the May patch (which contains no changes for iOS development), I'd expect to see a lot more reports of it.
What is your environment (aside from Delphi 12.3, since you mention the May patch), i.e. Xcode version, iOS SDK version, PAServer version?
I'm using Xcode 16.4, iOS 18.2 SDK, PAServer 14.3.14.2. -
1 hour ago, ToddFrankson said:After the latest IOS Update, not a single one will open
I suspect there's some other issue causing that.
1 hour ago, ToddFrankson said:I also believe that for Apple Store submission, the minimum needs to be set higher than 13.
The App Store requirement relates to the versions of Xcode and iOS SDK that need to built against, not the Minimum iOS Version set in the linking options.
-
2 hours ago, Dave Nottage said:may have existed even before Delphi 12.
Correction - as per the report, the problem started with Delphi 12.2. It was working before that.
Deploying Delphi 12.3 iOS App to iOS Device
in FMX
Posted
I seem to recall that can happen if Windows firewall is blocking it and/or perhaps the firewall on the Mac side