Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi 10.3 TBluetoothLE unter iOS (https://www.delphipraxis.net/204935-delphi-10-3-tbluetoothle-unter-ios.html)

Hofix2004 15. Jul 2020 17:19

Delphi 10.3 TBluetoothLE unter iOS
 
Hallo,

hat schon jemand versucht mit TBluetoothLE unter iOS zu arbeiten?

Die Komponente sollte eigentlich auch unter iOS funktionieren.


Ein Formular, eine TBluetoothLE Komponente und ein Button:

"BluetoothLE1.enabled := true;" klappt noch, bei "BluetoothLE1.DiscoverServices(2500)" stürzt die App ohne eine Meldung ab.


Liegt das an irgendwelchen Permissions? Hat jemand damit Erfahrung?

Vielen Dank!

Rollo62 15. Jul 2020 18:21

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Ja, geht wunderbar.
Man muss sich aber ein bischen drumrum bauen und fixen damit es rund läuft.
Je nachdem was Du brauchts, z.B. Background Modus ist sehr tricky bei Android und IOS.

Für BLE brauchst Du die Permissions und die UseageDescriptions
https://medium.com/flawless-app-stor...s-26c6a8cbb816

philipp.hofmann 15. Jul 2020 18:25

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Schau dir am Besten auch mal das BLEScanner-Beispiel-Projekt von EMBT an, welches mit Delphi ausgeliefert wird. Da sollte dir geholfen werden.

Hofix2004 21. Jul 2020 07:00

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Ich habe die Schlüssel:

-NSBluetoothAlwaysUsageDescription

und

-NSBluetoothPeripheralUsageDescription

unter Optionen-> Versionsinformationen eingefügt. Aber es erfolgt keine Abfrage für die Permission und die App stürzt beim Aktivieren von BLE mit einer Zugriffsverletzung ab.

Was mache ich falsch?

Rollo62 21. Jul 2020 10:10

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Probier mal das hier aus, ist eine Rx10.3.3 und eine Rx10.4 Version drin.

Es geht zwar nur um das API-26 und API-29 bei Android, sollte aber ein Stück weiter kommen,
als das was Du unten beschreibst.

Hofix2004 21. Jul 2020 17:57

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Danke, aber:

"This attachment is not available. It may have been removed or the person who shared it may not have permission to share it to this location."

philipp.hofmann 21. Jul 2020 18:20

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Ich kann das Attachment herunterladen, seltsam. Funktioniert bei dir denn der BLEScanner aus den Demo-Projekten unter iOS? Dann hättest du doch dort einen Anhaltspunkt.

Rollo62 21. Jul 2020 18:58

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1470034)
Ich kann das Attachment herunterladen, seltsam. Funktioniert bei dir denn der BLEScanner aus den Demo-Projekten unter iOS? Dann hättest du doch dort einen Anhaltspunkt.

Die Demos sind schon uralt, und nicht gepflegt.
Habe ich mir schon lange nicht mehr angesehen, wahrscheinlich fehlen da die Permissions, oder nicht ?

Das Demo im Link funktionier mit DiscoverDevices unter 10.3.3 (API-26), mit 10.4 (API-29) aber nicht mehr.
Wenn Du mit 10.3.3 Testest solltest Du BLE Teile in der Umgebung sehen können.
Wie ich Dich verstehe hat das schon nicht funktioniert, deshalb der Link.

Hofix2004 22. Jul 2020 17:12

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Meine BLE-Anwendung läuft einwandfrei auf Android.

Mein Problem sind die Permissions unter iOS 13. Sobald ich BLE einschalte stürzt die App ab.

Wie genau fordere ich die Permissions auf iOS an?

philipp.hofmann 22. Jul 2020 17:27

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Auf jeden Fall anders als für Android. Dies müsste auf https://developer.apple.com/ im "Identifier" passieren. Wobei ich dort jetzt auch nur "Access WiFi Information, Game Center, In-App Purchase" stehen habe.

Hofix2004 22. Jul 2020 18:04

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Ich dachte es reicht, wenn man unter Optionen-> Versionsinformationen die Schlüssel

-NSBluetoothAlwaysUsageDescription

-NSBluetoothPeripheralUsageDescription

einfügt?

philipp.hofmann 22. Jul 2020 18:22

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Liste der Anhänge anzeigen (Anzahl: 1)
Sieht bei mir nach ein paar anderen Einträgen aus.

Hofix2004 22. Jul 2020 18:30

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir sieht das nach dem Einfügen so aus:

Anhang 52834

Rollo62 22. Jul 2020 19:56

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Sorry, hab das ios übersehen.
Läuft denn überhaupt eine App, z.b. leeres Projekt auf deinem ios?
Da muss Einiges vorbereitet sein.

Hofix2004 23. Jul 2020 06:37

AW: Delphi 10.3 TBluetoothLE unter iOS
 
Generell läuft alles auf iOS. Nur bei BLE habe ich jetzt Probleme vom User die Permissions zu bekommen, da keine Abfrage angezeigt wird.

Alles an Permissions in den Beispielprojekten ist Android-spezifisch und kann für iOS nicht verwendet werden.

Auf iOS läuft das über info.plist , jedoch klappt das bei mir noch nicht.

EDIT

Jetzt klappt es!

Folgende Keys in info.plist

<key>NSBluetoothPeripheralUsageDescription</key>
<string>The app needs bluetooth access to be able to process data from a HR device</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>The app needs bluetooth access to be able to process data from a HR device</string>


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz