Zugriff auf Kontakte

  1. 5 weeks ago

    Klemens K

    Apr 17 Pre-Release Testers, Xojo Pro

    Hi,
    aus meinem Programm greife ich auf die Kontakte vom macOS zu. Bis zum macOS 10.13. erschien ein Fenster mit der Frage, ob
    das Programm auf die Kontakte zugreifen dürfte. Ab 10.14 kommt dieses Fenster nicht mehr und der Zugriff ist nicht möglich.
    Wenn ich in den Systemeinstellungen unter Sicherheit / Kontakte den Haken für mein Programm rausnehmen und wieder setze,
    dann funktioniert der Zugriff. Aber mit dem erneuten Starten vom Programm ist der Zugriff wieder gesperrt.
    Wie kann ich erreichen, dass der Zugriff immer gewährleistet ist oder das Abfragefenster wieder erscheint?

    Klemens

  2. Beatrix W

    Apr 17 Pre-Release Testers Europe (Germany)

    Hast Du so ein NSContactsUsageDescription-Dings in Deiner plist?

  3. Klemens K

    Apr 17 Pre-Release Testers, Xojo Pro

    Nee, was bedeutet das nun?

  4. Christian S

    Apr 17 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    Schau mal meine Liste hier:
    https://www.mbsplugins.net/archive/2019-03-31/Required_keys_for_infoplist_fi/monkeybreadsoftware_blog_archive

    Und bei den Contacts Klassen im MBS Plugin gibt es auch eine Funktion um explizit den Status abzufragen und um Erlaubnis zu bitten.

  5. Beatrix W

    Apr 17 Pre-Release Testers Europe (Germany)

    Genau wie für die URLs muß man bei den Kontakten sagen, wofür man die braucht. Siehe z.B. hier. Das ist aber nicht neu. Das muß man über ein Build-Script in die plist einfügen.

    'contacts
    dim command as String = "/bin/echo 'NSContactsUsageDescription = ""Nur Deine Email-Adresse und Dein Name werden benötigt.""; '>>" + appPath + "/Contents/Resources/de.lproj/InfoPlist.strings"
    Call DoShellCommand(command)
    command = "/bin/echo 'NSContactsUsageDescription = ""Only your email address and name will be accessed.""; '>>" + appPath + "/Contents/Resources/en.lproj/InfoPlist.strings"
    Call DoShellCommand(command)
    if theResult <> "" then print theResult

  6. Jürg O

    Apr 17 Pre-Release Testers, Xojo Pro

    @Beatrix W Das muß man über ein Build-Script in die plist einfügen.

    Ich finde es einfacher, eine Info.plist mit den benötigten Einstellungen zu erstellen, und dann ins Xojo-Projekt reinzuziehen... dann werden die Einträge der "eigenen Info.plist" beim Build mit-integriert.
    Xojo User Guide: Using a plist

  7. Klemens K

    Apr 17 Pre-Release Testers, Xojo Pro

    Hi,
    in der plist ist ja einiges einzustellen. Ich habe mir mal die Beispiele von XOJO zum Zugriff auch die Kontakte angeschaut und ich weiß nicht wo dort die info.plist "reingezogen" wurde. Auch das Beispiel zur plist von xojo http://docs.xojo.com/URLConnection ist schwer auf die Kontakte zu "migrieren". Wie würde das in Praxis aussehen? Wer kann mir dabei helfen die plist zum Zugriff auch die Kontakte zu erstellen?
    Klemens

  8. Christian S

    Apr 18 Pre-Release Testers, Xojo Pro, XDC Speakers Germany

    die info.plist ist ja nur eine XML Textdatei, die die richtigen Einträge haben muss.
    Und die werden dann in die info.plist vom Programm integriert.

    Hier mal ein Beispiel:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>NSRemindersUsageDescription</key>
      <string>Put some text here</string>
      <key>NSCalendarsUsageDescription</key>
      <string>Put some text here</string>
    </dict>
    </plist>
  9. 12 hours ago

    Klemens K

    12 hours ago Pre-Release Testers, Xojo Pro

    Danke, hat nun mit der plist funktioniert.

    Klemens

or Sign Up to reply!