-
Content Count
1646 -
Joined
-
Last visited
-
Days Won
37
Everything posted by Dave Nottage
-
So it's more than likely a profile/certificate issue, especially given the original message. You could use the Keychain Access app on the Mac to check whether certificates are valid, e.g. on mine:
-
What adjustments did you make? If it included the value for CFBundleIdentifier (in the Version Info section), I suspect it's related to that.
-
TLocationlistener.. fails in Delphi 12.
Dave Nottage replied to Bart Kindt's topic in Cross-platform
Assuming that the above unit is a modified copy of System.Android.Sensors.pas from an earlier version of Delphi, you'll need to update it to align with Delphi 12. -
I'm puzzled as to why you would post "Got it figured out", but not actually include the solution
-
Here is the problem: 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime FATAL EXCEPTION: Thread-6 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime Process: com.embarcadero.AdTestD12, PID: 12847 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string; 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.measurement.internal.zzga.zza(com.google.android.gms:play-services-measurement-base@@20.1.2:1) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.internal.measurement.zzee.<init>(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:8) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.internal.measurement.zzee.zzg(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:2) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.measurement.api.AppMeasurementSdk.getInstance(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:3) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.internal.ads.zzbnq.run(com.google.android.gms:play-services-ads-lite@@22.2.0:10) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at java.lang.Thread.run(Thread.java:1012) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.R$string" on path: DexPathList[[zip file "/data/app/~~aO0p4K6Hjy9h4IY8lEyzVQ==/com.embarcadero.AdTestD12-AUBcLSpltNJ395APPGwSJA==/base.apk"],nativeLibraryDirectories=[/data/app/~~aO0p4K6Hjy9h4IY8lEyzVQ==/com.embarcadero.AdTestD12-AUBcLSpltNJ395APPGwSJA==/lib/arm, /data/app/~~aO0p4K6Hjy9h4IY8lEyzVQ==/com.embarcadero.AdTestD12-AUBcLSpltNJ395APPGwSJA==/base.apk!/lib/armeabi-v7a, /system/lib, /system/system_ext/lib]] 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime ... 6 more Not sure why this was not happening before. I see from your first post about this you are using an emulator? I strongly advise to use a real device. If you are unable to, make sure the emulator system image includes "Play Store":
-
There is more than one version of PAServer 22.0, however I assume you are using the one that shipped with Delphi 11.3, which is v13.3.12.6. Regardless, as I indicated earlier, this combination works for me:
-
With PAServer from Delphi 12.0? Either way, that is odd. Delphi 12.0 will not (or at least should not) work with PAServer from Delphi 12.1.
-
So Delphi 12.0? Is there any reason why you have not upgraded to 12.1? Not sure if that might actually make a difference here, however PAServer may have been changed to ensure that the file specified in the -exportOptionsPlist switch of the call to xcodebuild uses the correct value for the <method> key, which would be app-store-connect, rather than app-store: That message looks more like a warning, than an error. I suspect the real problem is that there is some certificate issue: I'm just not sure what that issue is.
-
With which version of Delphi, which version of PAServer, and which version of Xcode? For me, using Delphi 12.1, PAServer v14.1.13.8, Xcode 15.4 deploying an app for App Store works OK. You may also want to turn on verbose mode (using the v command) in PAServer to see exactly what is being executed.
-
I assume by "close" you mean it crashes? At this point I can only suggest adding logging to the app to see exactly where it is failing.
-
Which is the same error as last time, where I advised: Have you configured the GDPR and IDFA messages? Not in the application itself. See above.
-
making Delphi 12 support even old Android phones?
Dave Nottage replied to bravesofts's topic in Delphi IDE and APIs
Yes. See this link. -
Not sure this will help you, but I have added a function just yesterday to copy large files that have been selected using TFilesSelector. It is the class function TAndroidFileStream.Copy (in DW.Android.Helpers), which can be called like this: TAndroidFileStream.Copy(LRawPath, LFileName); Where LRawPath contains the raw URI for the selected file, and LFileName contains the destination file path Please be aware that copying a large file can take several seconds (in my test, a 2.5GB file took 7 seconds on my Pixel 6 Pro), so you may want to pass that task off to a thread. Surely you'll need to actually have the file in order to compress it anyway?
-
@Chris Pim has. See this.
-
Set the WordWrap property on the TTextObjectAppearance item to True:
-
No, since one is an application id, and the other is an ad unit id. By setting the AdUnitId property of those you have ids for. You set these up in the AdMob web interface .The most likely cause is that you need to configure GDPR and IDFA messages, here.
-
I just noticed in your screenshot that you also had the name attribute of the meta-data incorrect, however given that the first error has gone, I assume you've corrected that? It should look like this: <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-1692413347180528~0000000000"/> i.e. the name attribute should be: com.google.android.gms.ads.APPLICATION_ID If it is now correct, the next error message suggests that the value (in the value attribute of the meta-data) you are supplying is incorrect. You should also pay attention to the details in the User Messaging Platform section of the readme.
-
Looking at your screenshot, you have the meta-data inside of a service tag, rather than inside the application tag, as per the readme that I linked to.
-
ShowModal hang/crashes on iOS 15 with iPhone 12 / 13
Dave Nottage replied to Eric Bonilha's topic in FMX
This issue has raised its ugly head again, this time on iPad 9th and 10th Gen devices (iOS 17.x). I've filed a new QP report which includes this workaround: 1. Copy FMX.Platform.iOS.pas from the source\fmx folder in your Delphi install, to the same folder as your project. 2. Modify the TCocoaTouchWindowManager.CanShowModal method thus: function TCocoaTouchWindowManager.CanShowModal: Boolean; begin // Patched - was returning True Result := False; end; This ensures that the form is actually shown non-modally, but will call the modal result function when the form is closed. -
It's literally telling you what the problem is, i.e. you need to include meta-data in the manifest. Please see this section of the readme.
-
Given the quotes above, no. A reproducible example might make it clearer.
-
You still receive the error when the app is active? Or do you mean you receive it when the app goes into the background? (which includes the device going to sleep). iOS has very strict rules (much worse than Android) about background execution. You might want to read this. Also, you may want to consider why your app needs to access Firestore when the app is in the background, and whether it should just retry the request when the app becomes active.
-
Firemonkey Android AlarmManager to open application
Dave Nottage replied to Ruslan's topic in Cross-platform
It could be this: https://developer.android.com/about/versions/14/changes/schedule-exact-alarms ..and/or it could be this: https://developer.android.com/guide/components/activities/background-starts Using a logcat viewer to check what messages are emitted by the system would help diagnose the problem.