IOS-Anwendungsentwicklung mit Python (kivy), die selbst Affen können

Einführung

Python ist in den Bereichen maschinelles Lernen und Datenwissenschaft aktiv, aber die GUI ist auch hervorragend, und das diesmal verwendete Kivy kann erstellt werden, um Anwendungen zu erstellen, die auf Desktop, Android und iOS funktionieren.

Dieses Mal werde ich eine kurze Erklärung für diejenigen geben, die noch nie einen Antrag gestellt haben, aber Python bis zu einem gewissen Grad kennen. Auch als Memorandum für mich. ..

Was ist Kivy?

Eine der Python-Bibliotheken, die das Erstellen von GUIs erleichtert (grafische Benutzeroberfläche: keine schwarzen Konsolenbildschirme).

Japanische Referenz existiert ebenfalls und ist eine Bibliothek, die sich noch in der Entwicklung befindet.

Viele andere Leute haben Artikel geschrieben, die leicht zu verstehen und höflich sind, deshalb werde ich sie hier weglassen. Dieses Mal gehen wir davon aus, dass es sich um eine Anwendung handelt.

Dinge notwendig

kivy-ios Ich werde es von der Seite GitHub klonen.

__ Unterstützung für iOS 13 __ Ab iOS 13 scheint es eine große Änderung in der Objective-C-Sprache zu geben, und für eine Weile funktionierte dieses Kivy-ios nicht mehr. Ab dem 28. Dezember 2019 wurde die Pull-Anforderung des korrigierten Teils zusammengeführt und ist einsatzbereit.

Objective-C iOS 13.0 breaking changes #53

Build starten

Beginnen Sie sofort mit dem Erstellen der App. kivy-ios Installieren Sie zunächst die abhängigen Pakete, um kivy-ios auszuführen.

xcode-select --install
brew install autoconf automake libtool pkg-config
brew link libtool
pip3 install cython==0.28.1

Im geklonten Verzeichnis

pip3 install -r requirements.txt

Ausführen. Jetzt können Sie kivy-ios verwenden.

Danach werden wir das Python-Programm in die App einbetten, daher müssen wir Python selbst für die App erstellen. Der Befehl lautet:

python3 toolchain.py build python3 kivy

Dieser Vorgang dauerte in meiner Umgebung ungefähr eine Stunde (Macbook Pro 2016). Schweiß

Eine Anwendung erstellen

Diesmal ist es ein Tutorial, also machen wir eine Stoppuhr. Erstellen Sie für den Inhalt eine Schaltfläche und geben Sie die Differenz zwischen der Zeit, zu der die Schaltfläche zum ersten Mal gedrückt wird, "datetime.datetime.now ()" und der Zeit, zu der die Schaltfläche zum zweiten Mal gedrückt wird, aus.

main.py


from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
from datetime import datetime


class MainWindow(Widget):
    button_text = StringProperty("Push Button!!")
    timer_text = StringProperty("START")

    def __init__(self, **kwargs):
        super(MainWindow, self).__init__(**kwargs)
        self.timer_check = False
        self.timer_before = 0
    
    def push_button(self):
        if not self.timer_check:
            self.timer_before = datetime.now()
            self.timer_check = True
            self.button_text = "STOP"
            self.timer_text = "Running..."
        else:
            self.timer_check = False
            self.button_text = "START"
            self.timer_text = str(datetime.now() - self.timer_before)


class StopWatchApp(App):
    def __init__(self, **kwargs):
        super(StopWatchApp, self).__init__(**kwargs)

    def build(self):
        return MainWindow()


if __name__ == '__main__':
    StopWatchApp().run()

stopwatch.kv


MainWindow:

<MainWindow>:
    BoxLayout:
        orientation: "vertical"
        size: root.size
        Label:
            text: root.timer_text
        Button:
            text: root.button_text
            on_press: root.push_button()

スクリーンショット 2019-12-28 14.03.35.png スクリーンショット 2019-12-28 14.03.58.png

Es sieht wirklich billig aus, aber ich konnte es schaffen. Speichern Sie zu diesem Zeitpunkt das Python-Skript als "main.py". Legen Sie die erstellte py-Datei und die kv-Datei in einem geeigneten Verzeichnis ab. (Dieses Mal habe ich es in einem Verzeichnis namens "Stoppuhr" gespeichert.)

Apple-Profilerstellung

Wenn Sie im Apple Developer Program registriert sind, ist das in Ordnung, aber Sie müssen eine jährliche Gebühr zahlen, um Ihre App tatsächlich im Store zu veröffentlichen. Sie können die eigentliche Maschine jedoch nur kostenlos erstellen. Informationen zur Einstellung finden Sie im folgenden Artikel.

[Xcode] Wie viel können Sie mit einem kostenlosen realen Maschinenbau tun?

__ Kostenloser realer Maschinenbau __ Das Profil ist __7 Tage __ gültig. Danach können Sie nicht mehr vom iPhone aus starten, sodass Sie erneut auf das eigentliche Gerät übertragen müssen.

XCode-Projekterstellung

Geben Sie den Befehl gemäß der folgenden Befehlssyntax ein.

python3 toolchain.py create <title> <app_directory>

Dieses Mal habe ich ein Verzeichnis namens "Stoppuhr" in das Verzeichnis gestellt, in dem sich "kivy-ios-master" befindet

python3 kivy-ios-master/toolchain.py create StopWatch ./stopwatch

Es wird sein. Anschließend wird im selben Verzeichnis ein Verzeichnis mit dem Namen "stopwatch-ios" erstellt. Öffnen Sie daher das XCode-Projekt "stopwatch.xcodeproj".

スクリーンショット 2019-12-28 14.13.23.png

Wählen Sie das zuvor in den Projekteinstellungen festgelegte Bereitstellungsprofil aus, wählen Sie das angeschlossene iPhone im Terminalauswahlbildschirm oben links aus und drücken Sie zum Erstellen die Dreieckstaste. Wenn Sie zu diesem Zeitpunkt einen Passcode auf Ihrem iPhone haben, müssen Sie diesen abbrechen und auf dem Startbildschirm belassen.

Außerdem wird der erste Build automatisch gestartet, jedoch nicht, da das Profil nicht offiziell ist. Sie müssen sich über "Einstellungen> Allgemein> Geräteadministrator" des iPhones authentifizieren.

Es scheint, dass der Build erfolgreich war. Ich bin glücklich.

ファイル名 ファイル名

Es tut mir leid, dass die Bildqualität so schlecht ist, dass ich gestorben bin, weil ich sie mit einer Webkamera aufgenommen habe.

Schließlich

Ich hätte nie gedacht, dass es so einfach ist, eine App zu erstellen. Welche Kopfstruktur hat eine Person, die sich eine solche Bibliothek einfallen lässt? Lol

Ich möchte wieder verschiedene Dinge machen.

Recommended Posts

IOS-Anwendungsentwicklung mit Python (kivy), die selbst Affen können
[Mac OS] Verwenden Sie Kivy mit PyCharm! [Python-Anwendungsentwicklung]
Einführung in Python, die auch Affen verstehen können (Teil 3)
Einführung in Python, die auch Affen verstehen können (Teil 1)
Python-Page-Rangberechnung und Visualisierung sozialer Diagramme, die selbst Affen ausführen können
Einführung in Python, die auch Affen verstehen können (Teil 2)
Anwendungsentwicklung mit Docker + Python + Flask
Python | Was Sie mit Python machen können
Othello App (iOS App) erstellt mit Python (Kivy)
Automatischer Browser-Betrieb, den auch Anfänger ausführen können
Hinweise zu Python-Kenntnissen, die mit AtCoder verwendet werden können
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Mach Houdini mit Python3! !! !!
Artikel, die die Systementwicklung mit Django (Python) ermöglichen _Einführung
"Zum ersten Mal Kikaigakushu", das selbst Studenten ohne Wissen tun können - AWS SageMaker
Was können Sie mit den Standardstatistiken der Python-Bibliothek tun?
Mach Django mit CodeStar (Python3.6.8, Django2.2.9)
Python + Kivy-Entwicklung unter Windows
Entwicklung von Webanwendungen mit Flask
Webanwendung mit Python + Flask ② ③
Webanwendung mit Python + Flask ④
[Python] Erstellen Sie ein Diagramm, das mit Plotly verschoben werden kann
Überlegen Sie im Qiita-Artikel, was Sie mit Python tun können
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann
Überwachen Sie die Leistung von Python-Anwendungen mit Dynatrace ♪
Schwanzrekursion mit Python2 durchführen
Othello-Spieleentwicklung mit Python
Was tun mit PYTHON Release?
Richten Sie mit Atom eine Python-Entwicklungsumgebung ein
Anwendung von Python: Datenbereinigung Teil 2: Datenbereinigung mit DataFrame
Grundlegende Zusammenfassung des Scrapings mit Anfragen, die Anfänger absolut verstehen können [Python]
Sie können es mit Python tun! Strukturanalyse zweidimensionaler kolloidaler Kristalle
Ich habe ein Modul PyNanaco erstellt, das Nanaco-Guthaben mit Python belasten kann