FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

# German translation of the Python documentation. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # # Translators: # Swen Bachmann, 2026 # msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-08-22 12:07+0200\n" "PO-Revision-Date: 2026-10-10 19:30+0200\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://github.com/python/python-docs-de)\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../../using/ios.rst:5 msgid "Using Python on iOS" msgstr "Python unter iOS verwenden" #: ../../using/ios.rst:0 msgid "Authors" msgstr "Autoren" #: ../../using/ios.rst:8 msgid "Russell Keith-Magee (2024-03)" msgstr "Russell Keith-Magee (2024-03)" #: ../../using/ios.rst:10 msgid "" "Python on iOS is unlike Python on desktop platforms. On a desktop platform, " "Python is generally installed as a system resource that can be used by any " "user of that computer. Users then interact with Python by running a :program:" "`python` executable and entering commands at an interactive prompt, or by " "running a Python script." msgstr "" "Python unter iOS unterscheidet sich von Python auf Desktop-Plattformen. Auf " "einer Desktop-Plattform wird Python in der Regel als Systemressource " "installiert, die von jedem Benutzer dieses Computers verwendet werden kann. " "Nutzer interagieren dann mit Python, indem sie eine ausführbare Datei :" "program:`python` starten und Befehle an einer interaktiven " "Eingabeaufforderung eingeben, oder indem sie ein Python-Skript ausführen." #: ../../using/ios.rst:16 msgid "" "On iOS, there is no concept of installing as a system resource. The only " "unit of software distribution is an \"app\". There is also no console where " "you could run a :program:`python` executable, or interact with a Python REPL." msgstr "" "Unter iOS gibt es kein Konzept der Installation als Systemressource. Die " "einzige Verteilungseinheit für Software ist eine \"App\". Es gibt auch keine " "Konsole, in der du eine ausführbare Datei :program:`python` starten oder mit " "einem Python-REPL interagieren könntest." #: ../../using/ios.rst:20 msgid "" "As a result, the only way you can use Python on iOS is in embedded mode - " "that is, by writing a native iOS application, and embedding a Python " "interpreter using ``libPython``, and invoking Python code using the :ref:" "`Python embedding API `. The full Python interpreter, the " "standard library, and all your Python code is then packaged as a standalone " "bundle that can be distributed via the iOS App Store." msgstr "" "Infolgedessen ist die einzige Möglichkeit, Python unter iOS zu verwenden, " "der eingebettete Modus – das heißt, indem du eine native iOS-Anwendung " "schreibst, einen Python-Interpreter mithilfe von ``libPython`` einbettest " "und Python-Code über die :ref:`Python-Einbettungs-API ` aufrufst. " "Der vollständige Python-Interpreter, die Standardbibliothek und dein " "gesamter Python-Code werden dann als eigenständiges Paket gebündelt, das " "über den iOS App Store vertrieben werden kann." #: ../../using/ios.rst:27 msgid "" "If you're looking to experiment for the first time with writing an iOS app " "in Python, projects such as `BeeWare `__ and `Kivy " "`__ will provide a much more approachable user experience. " "These projects manage the complexities associated with getting an iOS " "project running, so you only need to deal with the Python code itself." msgstr "" "Wenn du zum ersten Mal damit experimentieren möchtest, eine iOS-App in " "Python zu schreiben, bieten dir Projekte wie `BeeWare `__ und `Kivy `__ eine deutlich zugänglichere " "Nutzererfahrung. Diese Projekte übernehmen die Komplexität, die mit dem Zum-" "Laufen-Bringen eines iOS-Projekts verbunden ist, sodass du dich nur um den " "eigentlichen Python-Code kümmern musst." #: ../../using/ios.rst:34 msgid "Python at runtime on iOS" msgstr "Python zur Laufzeit unter iOS" #: ../../using/ios.rst:37 msgid "iOS version compatibility" msgstr "iOS-Versionskompatibilität" #: ../../using/ios.rst:39 msgid "" "The minimum supported iOS version is specified at compile time, using the :" "option:`--host` option to ``configure``. By default, when compiled for iOS, " "Python will be compiled with a minimum supported iOS version of 13.0. To use " "a different minimum iOS version, provide the version number as part of the :" "option:`!--host` argument - for example, ``--host=arm64-apple-ios15.4-" "simulator`` would compile an ARM64 simulator build with a deployment target " "of 15.4." msgstr "" "Die minimal unterstützte iOS-Version wird zur Kompilierzeit über die Option :" "option:`--host` von ``configure`` festgelegt. Standardmäßig wird Python bei " "der Kompilierung für iOS mit einer minimal unterstützten iOS-Version von " "13.0 kompiliert. Um eine andere minimale iOS-Version zu verwenden, gib die " "Versionsnummer als Teil des Arguments :option:`!--host` an – zum Beispiel " "würde ``--host=arm64-apple-ios15.4-simulator`` einen ARM64-Simulator-Build " "mit einem Deployment-Ziel von 15.4 kompilieren." #: ../../using/ios.rst:48 msgid "Platform identification" msgstr "Plattform-Identifikation" #: ../../using/ios.rst:50 msgid "" "When executing on iOS, ``sys.platform`` will report as ``ios``. This value " "will be returned on an iPhone or iPad, regardless of whether the app is " "running on the simulator or a physical device." msgstr "" "Bei der Ausführung unter iOS gibt ``sys.platform`` den Wert ``ios`` zurück. " "Dieser Wert wird sowohl auf einem iPhone als auch auf einem iPad " "zurückgegeben, unabhängig davon, ob die App im Simulator oder auf einem " "physischen Gerät läuft." #: ../../using/ios.rst:54 msgid "" "Information about the specific runtime environment, including the iOS " "version, device model, and whether the device is a simulator, can be " "obtained using :func:`platform.ios_ver`. :func:`platform.system` will report " "``iOS`` or ``iPadOS``, depending on the device." msgstr "" "Informationen zur konkreten Laufzeitumgebung, einschließlich der iOS-" "Version, des Gerätemodells und ob es sich um einen Simulator handelt, können " "mit :func:`platform.ios_ver` abgerufen werden. :func:`platform.system` gibt " "je nach Gerät ``iOS`` oder ``iPadOS`` zurück." #: ../../using/ios.rst:59 msgid "" ":func:`os.uname` reports kernel-level details; it will report a name of " "``Darwin``." msgstr "" ":func:`os.uname` gibt Details auf Kernel-Ebene zurück. Es wird der Name " "``Darwin`` gemeldet." #: ../../using/ios.rst:63 msgid "Standard library availability" msgstr "Verfügbarkeit der Standardbibliothek" #: ../../using/ios.rst:65 msgid "" "The Python standard library has some notable omissions and restrictions on " "iOS. See the :ref:`API availability guide for iOS ` for " "details." msgstr "" "Die Python-Standardbibliothek weist unter iOS einige wesentliche " "Auslassungen und Einschränkungen auf. Siehe den :ref:`API-" "Verfügbarkeitsleitfaden für iOS ` für Details." #: ../../using/ios.rst:70 msgid "Binary extension modules" msgstr "Binäre Erweiterungsmodule" #: ../../using/ios.rst:72 msgid "" "One notable difference about iOS as a platform is that App Store " "distribution imposes hard requirements on the packaging of an application. " "One of these requirements governs how binary extension modules are " "distributed." msgstr "" "Ein wesentlicher Unterschied bei iOS als Plattform ist, dass die Verteilung " "über den App Store strenge Anforderungen an die Paketierung einer Anwendung " "stellt. Eine dieser Anforderungen regelt, wie binäre Erweiterungsmodule " "verteilt werden." #: ../../using/ios.rst:76 msgid "" "The iOS App Store requires that *all* binary modules in an iOS app must be " "dynamic libraries, contained in a framework with appropriate metadata, " "stored in the ``Frameworks`` folder of the packaged app. There can be only a " "single binary per framework, and there can be no executable binary material " "outside the ``Frameworks`` folder." msgstr "" "Der iOS App Store verlangt, dass *alle* Binärmodule in einer iOS-App " "dynamische Bibliotheken sein müssen, die in einem Framework mit " "entsprechenden Metadaten enthalten sind und im Ordner ``Frameworks`` der " "gepackten App gespeichert werden. Pro Framework darf es nur eine einzige " "Binärdatei geben, und außerhalb des Ordners ``Frameworks`` darf sich kein " "ausführbares Binärmaterial befinden." #: ../../using/ios.rst:82 msgid "" "This conflicts with the usual Python approach for distributing binaries, " "which allows a binary extension module to be loaded from any location on " "``sys.path``. To ensure compliance with App Store policies, an iOS project " "must post-process any Python packages, converting ``.so`` binary modules " "into individual standalone frameworks with appropriate metadata and signing. " "For details on how to perform this post-processing, see the guide for :ref:" "`adding Python to your project `." msgstr "" "Dies steht im Widerspruch zum üblichen Python-Ansatz zur Verteilung von " "Binärdateien, der es erlaubt, ein binäres Erweiterungsmodul von einem " "beliebigen Ort in ``sys.path`` zu laden. Um die Einhaltung der App-Store-" "Richtlinien sicherzustellen, muss ein iOS-Projekt jedes Python-Paket " "nachbearbeiten und dabei ``.so``-Binärmodule in einzelne, eigenständige " "Frameworks mit entsprechenden Metadaten und Signatur umwandeln. Details zur " "Durchführung dieser Nachbearbeitung findest du im Leitfaden zum :ref:" "`Hinzufügen von Python zu deinem Projekt `." #: ../../using/ios.rst:90 msgid "" "To help Python discover binaries in their new location, the original ``.so`` " "file on ``sys.path`` is replaced with a ``.fwork`` file. This file is a text " "file containing the location of the framework binary, relative to the app " "bundle. To allow the framework to resolve back to the original location, the " "framework must contain a ``.origin`` file that contains the location of the " "``.fwork`` file, relative to the app bundle." msgstr "" "Damit Python die Binärdateien an ihrem neuen Speicherort finden kann, wird " "die ursprüngliche ``.so``-Datei in ``sys.path`` durch eine ``.fwork``-Datei " "ersetzt. Diese Datei ist eine Textdatei, die den Speicherort der Framework-" "Binärdatei relativ zum App-Bundle enthält. Damit das Framework wieder zum " "ursprünglichen Speicherort zurückfinden kann, muss es eine ``.origin``-Datei " "enthalten, die den Speicherort der ``.fwork``-Datei relativ zum App-Bundle " "enthält." #: ../../using/ios.rst:97 msgid "" "For example, consider the case of an import ``from foo.bar import _whiz``, " "where ``_whiz`` is implemented with the binary module ``sources/foo/bar/" "_whiz.abi3.so``, with ``sources`` being the location registered on ``sys." "path``, relative to the application bundle. This module *must* be " "distributed as ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` " "(creating the framework name from the full import path of the module), with " "an ``Info.plist`` file in the ``.framework`` directory identifying the " "binary as a framework. The ``foo.bar._whiz`` module would be represented in " "the original location with a ``sources/foo/bar/_whiz.abi3.fwork`` marker " "file, containing the path ``Frameworks/foo.bar._whiz/foo.bar._whiz``. The " "framework would also contain ``Frameworks/foo.bar._whiz.framework/foo.bar." "_whiz.origin``, containing the path to the ``.fwork`` file." msgstr "" "Betrachte zum Beispiel den Fall eines Imports ``from foo.bar import _whiz``, " "wobei ``_whiz`` mit dem Binärmodul ``sources/foo/bar/_whiz.abi3.so`` " "implementiert ist, wobei ``sources`` der auf ``sys.path`` registrierte " "Speicherort relativ zum Anwendungsbündel ist. Dieses Modul *muss* als " "``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` verteilt werden (wobei " "der Framework-Name aus dem vollständigen Importpfad des Moduls gebildet " "wird), mit einer ``Info.plist``-Datei im ``.framework``-Verzeichnis, die die " "Binärdatei als Framework identifiziert. Das Modul ``foo.bar._whiz`` würde am " "ursprünglichen Speicherort durch eine Markierungsdatei ``sources/foo/bar/" "_whiz.abi3.fwork`` repräsentiert, die den Pfad ``Frameworks/foo.bar._whiz/" "foo.bar._whiz`` enthält. Das Framework würde außerdem ``Frameworks/foo.bar." "_whiz.framework/foo.bar._whiz.origin`` enthalten, welches den Pfad zur ``." "fwork``-Datei enthält." #: ../../using/ios.rst:110 msgid "" "When running on iOS, the Python interpreter will install an :class:" "`~importlib.machinery.AppleFrameworkLoader` that is able to read and import " "``.fwork`` files. Once imported, the ``__file__`` attribute of the binary " "module will report as the location of the ``.fwork`` file. However, the :" "class:`~importlib.machinery.ModuleSpec` for the loaded module will report " "the ``origin`` as the location of the binary in the framework folder." msgstr "" "Beim Ausführen unter iOS installiert der Python-Interpreter einen :class:" "`~importlib.machinery.AppleFrameworkLoader`, der in der Lage ist, ``.fwork``-" "Dateien zu lesen und zu importieren. Nach dem Import gibt das Attribut " "``__file__`` des Binärmoduls den Speicherort der ``.fwork``-Datei an. Die :" "class:`~importlib.machinery.ModuleSpec` des geladenen Moduls gibt jedoch als " "``origin`` den Speicherort der Binärdatei im Framework-Ordner an." #: ../../using/ios.rst:118 msgid "Compiler stub binaries" msgstr "Compiler-Stub-Binärdateien" #: ../../using/ios.rst:120 msgid "" "Xcode doesn't expose explicit compilers for iOS; instead, it uses an " "``xcrun`` script that resolves to a full compiler path (e.g., ``xcrun --sdk " "iphoneos clang`` to get the ``clang`` for an iPhone device). However, using " "this script poses two problems:" msgstr "" "Xcode stellt für iOS keine expliziten Compiler bereit. Stattdessen verwendet " "es ein ``xcrun``-Skript, das zu einem vollständigen Compiler-Pfad aufgelöst " "wird (z. B. ``xcrun --sdk iphoneos clang``, um den ``clang`` für ein iPhone-" "Gerät zu erhalten). Die Verwendung dieses Skripts bringt jedoch zwei " "Probleme mit sich:" #: ../../using/ios.rst:125 msgid "" "The output of ``xcrun`` includes paths that are machine specific, resulting " "in a sysconfig module that cannot be shared between users; and" msgstr "" "Die Ausgabe von ``xcrun`` enthält maschinenspezifische Pfade, was zu einem " "sysconfig-Modul führt, das nicht zwischen Benutzern geteilt werden kann, und" #: ../../using/ios.rst:128 msgid "" "It results in ``CC``/``CPP``/``LD``/``AR`` definitions that include spaces. " "There is a lot of C ecosystem tooling that assumes that you can split a " "command line at the first space to get the path to the compiler executable; " "this isn't the case when using ``xcrun``." msgstr "" "Dies führt zu ``CC``/``CPP``/``LD``/``AR``-Definitionen, die Leerzeichen " "enthalten. Es gibt viele Werkzeuge im C-Ökosystem, die davon ausgehen, dass " "man eine Befehlszeile am ersten Leerzeichen aufteilen kann, um den Pfad zur " "ausführbaren Compiler-Datei zu erhalten. Das ist bei der Verwendung von " "``xcrun`` nicht der Fall." #: ../../using/ios.rst:133 msgid "" "To avoid these problems, Python provided stubs for these tools. These stubs " "are shell script wrappers around the underingly ``xcrun`` tools, distributed " "in a ``bin`` folder distributed alongside the compiled iOS framework. These " "scripts are relocatable, and will always resolve to the appropriate local " "system paths. By including these scripts in the bin folder that accompanies " "a framework, the contents of the ``sysconfig`` module becomes useful for end-" "users to compile their own modules. When compiling third-party Python " "modules for iOS, you should ensure these stub binaries are on your path." msgstr "" "Um diese Probleme zu vermeiden, stellt Python Stubs für diese Werkzeuge " "bereit. Diese Stubs sind Shell-Skript-Wrapper um die zugrunde liegenden " "``xcrun``-Werkzeuge, die in einem ``bin``-Ordner zusammen mit dem " "kompilierten iOS-Framework verteilt werden. Diese Skripte sind verschiebbar " "und lösen sich stets zu den passenden lokalen Systempfaden auf. Indem diese " "Skripte in den bin-Ordner aufgenommen werden, der ein Framework begleitet, " "wird der Inhalt des ``sysconfig``-Moduls für Endnutzer nützlich, um ihre " "eigenen Module zu kompilieren. Beim Kompilieren von Python-Modulen von " "Drittanbietern für iOS solltest du sicherstellen, dass sich diese Stub-" "Binärdateien in deinem Pfad befinden." #: ../../using/ios.rst:143 msgid "Installing Python on iOS" msgstr "Python unter iOS installieren" #: ../../using/ios.rst:146 msgid "Tools for building iOS apps" msgstr "Werkzeuge zum Erstellen von iOS-Apps" #: ../../using/ios.rst:148 msgid "" "Building for iOS requires the use of Apple's Xcode tooling. It is strongly " "recommended that you use the most recent stable release of Xcode. This will " "require the use of the most (or second-most) recently released macOS " "version, as Apple does not maintain Xcode for older macOS versions. The " "Xcode Command Line Tools are not sufficient for iOS development; you need a " "*full* Xcode install." msgstr "" "Der Build-Prozess für iOS erfordert die Verwendung von Apples Xcode-" "Werkzeugen. Es wird dringend empfohlen, die aktuellste stabile Xcode-Version " "zu verwenden. Dies erfordert in der Regel die Verwendung der neuesten (oder " "zweit-neuesten) veröffentlichten macOS-Version, da Apple Xcode nicht für " "ältere macOS-Versionen pflegt. Die Xcode Command Line Tools reichen für die " "iOS-Entwicklung nicht aus. Du benötigst eine *vollständige* Xcode-" "Installation." #: ../../using/ios.rst:155 msgid "" "If you want to run your code on the iOS simulator, you'll also need to " "install an iOS Simulator Platform. You should be prompted to select an iOS " "Simulator Platform when you first run Xcode. Alternatively, you can add an " "iOS Simulator Platform by selecting from the Platforms tab of the Xcode " "Settings panel." msgstr "" "Wenn du deinen Code im iOS-Simulator ausführen möchtest, musst du außerdem " "eine iOS Simulator Platform installieren. Beim ersten Start von Xcode " "solltest du aufgefordert werden, eine iOS Simulator Platform auszuwählen. " "Alternativ kannst du eine iOS Simulator Platform über den Reiter " "\"Platforms\" im Xcode-Einstellungsfenster hinzufügen." #: ../../using/ios.rst:163 msgid "Adding Python to an iOS project" msgstr "Python zu einem iOS-Projekt hinzufügen" #: ../../using/ios.rst:165 msgid "" "Python can be added to any iOS project, using either Swift or Objective C. " "The following examples will use Objective C; if you are using Swift, you may " "find a library like `PythonKit `__ to " "be helpful." msgstr "" "Python kann jedem iOS-Projekt hinzugefügt werden, sowohl mit Swift als auch " "mit Objective C. Die folgenden Beispiele verwenden Objective C. Wenn du " "Swift verwendest, könnte dir eine Bibliothek wie `PythonKit `__ hilfreich sein." #: ../../using/ios.rst:170 msgid "To add Python to an iOS Xcode project:" msgstr "Um Python zu einem iOS-Xcode-Projekt hinzuzufügen:" #: ../../using/ios.rst:172 msgid "" "Build or obtain a Python ``XCFramework``. See the instructions in :source:" "`Platforms/Apple/iOS/README.md` (in the CPython source distribution) for " "details on how to build a Python ``XCFramework``. At a minimum, you will " "need a build that supports ``arm64-apple-ios``, plus one of either ``arm64-" "apple-ios-simulator`` or ``x86_64-apple-ios-simulator``." msgstr "" "Baue oder beziehe ein Python-``XCFramework``. Wie du ein Python-" "``XCFramework`` baust, steht in der Anleitung unter :source:`Platforms/Apple/" "iOS/README.md` (in der CPython-Quelldistribution). Mindestens brauchst du " "einen Build, der ``arm64-apple-ios`` unterstützt, dazu entweder ``arm64-" "apple-ios-simulator`` oder ``x86_64-apple-ios-simulator``." #: ../../using/ios.rst:178 msgid "" "Drag the ``XCframework`` into your iOS project. In the following " "instructions, we'll assume you've dropped the ``XCframework`` into the root " "of your project; however, you can use any other location that you want by " "adjusting paths as needed." msgstr "" "Zieh das ``XCframework`` in dein iOS-Projekt. In der folgenden Anleitung " "nehmen wir an, dass du das ``XCframework`` in die Wurzel deines Projekts " "gelegt hast. Du kannst aber jeden anderen Ort verwenden und die Pfade " "entsprechend anpassen." #: ../../using/ios.rst:183 msgid "" "Add your application code as a folder in your Xcode project. In the " "following instructions, we'll assume that your user code is in a folder " "named ``app`` in the root of your project; you can use any other location by " "adjusting paths as needed. Ensure that this folder is associated with your " "app target." msgstr "" "Füge deinen Anwendungscode als Ordner in dein Xcode-Projekt ein. In der " "folgenden Anleitung nehmen wir an, dass dein eigener Code in einem Ordner " "namens ``app`` in der Wurzel deines Projekts liegt. Du kannst jeden anderen " "Ort verwenden und die Pfade entsprechend anpassen. Stelle sicher, dass " "dieser Ordner dem Ziel deiner App zugeordnet ist." #: ../../using/ios.rst:189 msgid "" "Select the app target by selecting the root node of your Xcode project, then " "the target name in the sidebar that appears." msgstr "" "Wähle das App-Ziel aus, indem du den Wurzelknoten deines Xcode-Projekts " "anklickst und dann den Zielnamen in der erscheinenden Seitenleiste." #: ../../using/ios.rst:192 msgid "" "In the \"General\" settings, under \"Frameworks, Libraries and Embedded " "Content\", add ``Python.xcframework``, with \"Embed & Sign\" selected." msgstr "" "Füge in den Einstellungen unter „General“ bei „Frameworks, Libraries and " "Embedded Content“ das ``Python.xcframework`` hinzu, mit „Embed & Sign“ " "ausgewählt." #: ../../using/ios.rst:195 msgid "In the \"Build Settings\" tab, modify the following:" msgstr "Ändere im Reiter „Build Settings“ Folgendes:" #: ../../using/ios.rst:197 msgid "Build Options" msgstr "Build Options" #: ../../using/ios.rst:199 msgid "User Script Sandboxing: No" msgstr "User Script Sandboxing: No" #: ../../using/ios.rst:200 msgid "Enable Testability: Yes" msgstr "Enable Testability: Yes" #: ../../using/ios.rst:202 msgid "Search Paths" msgstr "Pfade suchen" #: ../../using/ios.rst:204 msgid "Framework Search Paths: ``$(PROJECT_DIR)``" msgstr "Framework Search Paths: ``$(PROJECT_DIR)``" #: ../../using/ios.rst:205 msgid "" "Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``" msgstr "" "Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``" #: ../../using/ios.rst:207 msgid "Apple Clang - Warnings - All languages" msgstr "Apple Clang - Warnings - All languages" #: ../../using/ios.rst:209 msgid "Quoted Include In Framework Header: No" msgstr "Quoted Include In Framework Header: No" #: ../../using/ios.rst:211 msgid "" "Add a build step that processes the Python standard library, and your own " "Python binary dependencies. In the \"Build Phases\" tab, add a new \"Run " "Script\" build step *before* the \"Embed Frameworks\" step, but *after* the " "\"Copy Bundle Resources\" step. Name the step \"Process Python libraries\", " "disable the \"Based on dependency analysis\" checkbox, and set the script " "content to:" msgstr "" "Füge einen Build-Schritt hinzu, der die Python-Standardbibliothek und deine " "eigenen binären Python-Abhängigkeiten verarbeitet. Füge im Reiter „Build " "Phases“ einen neuen Build-Schritt „Run Script“ ein, und zwar *vor* dem " "Schritt „Embed Frameworks“, aber *nach* dem Schritt „Copy Bundle Resources“. " "Nenne den Schritt „Process Python libraries“, schalte das Kontrollkästchen " "„Based on dependency analysis“ ab und setze den Inhalt des Skripts auf:" #: ../../using/ios.rst:218 msgid "" "set -e\n" "source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n" "install_python Python.xcframework app" msgstr "" "set -e\n" "source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n" "install_python Python.xcframework app" #: ../../using/ios.rst:224 msgid "" "If you have placed your XCframework somewhere other than the root of your " "project, modify the path to the first argument." msgstr "" "Wenn du dein XCframework an einem anderen Ort als der Wurzel deines Projekts " "abgelegt hast, passe den Pfad im ersten Argument an." #: ../../using/ios.rst:227 msgid "" "Add Objective C code to initialize and use a Python interpreter in embedded " "mode. You should ensure that:" msgstr "" "Füge Objective-C-Code hinzu, um einen Python-Interpreter im eingebetteten " "Modus zu starten und zu verwenden. Du solltest sicherstellen, dass:" #: ../../using/ios.rst:230 msgid "UTF-8 mode (:c:member:`PyPreConfig.utf8_mode`) is *enabled*;" msgstr "" "der UTF-8-Modus (:c:member:`PyPreConfig.utf8_mode`) *eingeschaltet* ist;" #: ../../using/ios.rst:231 msgid "Buffered stdio (:c:member:`PyConfig.buffered_stdio`) is *disabled*;" msgstr "" "die gepufferte Standard-Ein-/Ausgabe (:c:member:`PyConfig.buffered_stdio`) " "*abgeschaltet* ist;" #: ../../using/ios.rst:232 msgid "Writing bytecode (:c:member:`PyConfig.write_bytecode`) is *disabled*;" msgstr "" "das Schreiben von Bytecode (:c:member:`PyConfig.write_bytecode`) " "*abgeschaltet* ist;" #: ../../using/ios.rst:233 msgid "" "Signal handlers (:c:member:`PyConfig.install_signal_handlers`) are *enabled*;" msgstr "" "die Signalbehandlungen (:c:member:`PyConfig.install_signal_handlers`) " "*eingeschaltet* sind;" #: ../../using/ios.rst:234 msgid "" "System logging (:c:member:`PyConfig.use_system_logger`) is *enabled* " "(optional, but strongly recommended; this is enabled by default);" msgstr "" "die Systemprotokollierung (:c:member:`PyConfig.use_system_logger`) " "*eingeschaltet* ist (optional, aber dringend empfohlen, standardmäßig " "eingeschaltet);" #: ../../using/ios.rst:236 msgid "" ":envvar:`PYTHONHOME` for the interpreter is configured to point at the " "``python`` subfolder of your app's bundle; and" msgstr "" ":envvar:`PYTHONHOME` für den Interpreter auf den Unterordner ``python`` des " "Bündels deiner App zeigt, und" #: ../../using/ios.rst:238 msgid "The :envvar:`PYTHONPATH` for the interpreter includes:" msgstr "der :envvar:`PYTHONPATH` für den Interpreter Folgendes enthält:" #: ../../using/ios.rst:240 msgid "the ``python/lib/python3.X`` subfolder of your app's bundle," msgstr "den Unterordner ``python/lib/python3.X`` des Bündels deiner App," #: ../../using/ios.rst:241 msgid "" "the ``python/lib/python3.X/lib-dynload`` subfolder of your app's bundle, and" msgstr "" "den Unterordner ``python/lib/python3.X/lib-dynload`` des Bündels deiner App, " "und" #: ../../using/ios.rst:242 msgid "the ``app`` subfolder of your app's bundle" msgstr "den Unterordner ``app`` des Bündels deiner App" #: ../../using/ios.rst:244 msgid "" "Your app's bundle location can be determined using ``[[NSBundle mainBundle] " "resourcePath]``." msgstr "" "Den Ort des Bündels deiner App kannst du über ``[[NSBundle mainBundle] " "resourcePath]`` ermitteln." #: ../../using/ios.rst:247 msgid "" "Steps 7 and 8 of these instructions assume that you have a single folder of " "pure Python application code, named ``app``. If you have third-party binary " "modules in your app, some additional steps will be required:" msgstr "" "Die Schritte 7 und 8 dieser Anleitung setzen voraus, dass du einen einzigen " "Ordner mit reinem Python-Anwendungscode namens ``app`` hast. Wenn deine App " "binäre Module von Dritten enthält, sind zusätzliche Schritte nötig:" #: ../../using/ios.rst:251 msgid "" "You need to ensure that any folders containing third-party binaries are " "either associated with the app target, or are explicitly copied as part of " "step 7. Step 7 should also purge any binaries that are not appropriate for " "the platform a specific build is targeting (i.e., delete any device binaries " "if you're building an app targeting the simulator)." msgstr "" "Du musst sicherstellen, dass alle Ordner mit Binärdateien von Dritten " "entweder dem App-Ziel zugeordnet oder in Schritt 7 ausdrücklich mitkopiert " "werden. Schritt 7 sollte außerdem alle Binärdateien entfernen, die für die " "Zielplattform des jeweiligen Builds nicht passen (also etwa " "Gerätebinärdateien löschen, wenn du eine App für den Simulator baust)." #: ../../using/ios.rst:257 msgid "" "If you're using a separate folder for third-party packages, ensure that " "folder is added to the end of the call to ``install_python`` in step 7, and " "as part of the :envvar:`PYTHONPATH` configuration in step 8." msgstr "" "Wenn du einen eigenen Ordner für Pakete von Dritten verwendest, stelle " "sicher, dass dieser Ordner am Ende des Aufrufs von ``install_python`` in " "Schritt 7 und in der :envvar:`PYTHONPATH`-Konfiguration in Schritt 8 ergänzt " "wird." #: ../../using/ios.rst:261 msgid "" "If any of the folders that contain third-party packages will contain ``." "pth`` files, you should add that folder as a *site directory* (using :meth:" "`site.addsitedir`), rather than adding to :envvar:`PYTHONPATH` or :attr:`sys." "path` directly." msgstr "" "Wenn einer der Ordner mit Paketen von Dritten ``.pth``-Dateien enthält, " "solltest du diesen Ordner als *Site-Verzeichnis* hinzufügen (mit :meth:`site." "addsitedir`), statt ihn direkt zu :envvar:`PYTHONPATH` oder :attr:`sys.path` " "hinzuzufügen." #: ../../using/ios.rst:267 msgid "Testing a Python package" msgstr "Ein Python-Paket testen" #: ../../using/ios.rst:269 msgid "" "The CPython source tree contains :source:`a testbed project ` that is used to run the CPython test suite on the iOS simulator. " "This testbed can also be used as a testbed project for running your Python " "library's test suite on iOS." msgstr "" "Der CPython-Quellbaum enthält :source:`ein Testbed-Projekt `, mit dem die CPython-Testsammlung im iOS-Simulator ausgeführt " "wird. Dieses Testbed lässt sich auch als Testbed-Projekt verwenden, um die " "Testsammlung deiner eigenen Python-Bibliothek unter iOS auszuführen." #: ../../using/ios.rst:273 msgid "" "After building or obtaining an iOS XCFramework (see :source:`Platforms/Apple/" "iOS/README.md` for details), create a clone of the Python iOS testbed " "project. If you used the ``Platforms/Apple`` build script to build the " "XCframework, you can run:" msgstr "" "Nachdem du ein iOS-XCFramework gebaut oder bezogen hast (Einzelheiten unter :" "source:`Platforms/Apple/iOS/README.md`), erstelle einen Klon des Python-" "Testbed-Projekts für iOS. Wenn du das Build-Skript ``Platforms/Apple`` " "verwendet hast, um das XCframework zu bauen, kannst du Folgendes ausführen:" #: ../../using/ios.rst:277 msgid "" "$ python cross-build/iOS/testbed clone --app --app app-testbed" msgstr "" "$ python cross-build/iOS/testbed clone --app --app app-testbed" #: ../../using/ios.rst:281 msgid "Or, if you've sourced your own XCframework, by running:" msgstr "Oder, wenn du dein eigenes XCframework beschafft hast, mit:" #: ../../using/ios.rst:283 msgid "" "$ python Platforms/Apple/testbed clone --platform iOS --framework --app --app app-" "testbed" msgstr "" "$ python Platforms/Apple/testbed clone --platform iOS --framework --app --app app-" "testbed" #: ../../using/ios.rst:287 msgid "" "Any folders specified with the ``--app`` flag will be copied into the cloned " "testbed project. The resulting testbed will be created in the ``app-" "testbed`` folder. In this example, the ``module1`` and ``module2`` would be " "importable modules at runtime. If your project has additional dependencies, " "they can be installed into the ``app-testbed/Testbed/app_packages`` folder " "(using ``pip install --target app-testbed/Testbed/app_packages`` or similar)." msgstr "" "Alle mit dem Schalter ``--app`` angegebenen Ordner werden in das geklonte " "Testbed-Projekt kopiert. Das entstehende Testbed liegt im Ordner ``app-" "testbed``. In diesem Beispiel wären ``module1`` und ``module2`` zur Laufzeit " "importierbare Module. Hat dein Projekt weitere Abhängigkeiten, lassen sich " "diese in den Ordner ``app-testbed/Testbed/app_packages`` installieren (mit " "``pip install --target app-testbed/Testbed/app_packages`` oder Ähnlichem)." #: ../../using/ios.rst:294 msgid "" "You can then use the ``app-testbed`` folder to run the test suite for your " "app, For example, if ``module1.tests`` was the entry point to your test " "suite, you could run:" msgstr "" "Anschließend kannst du den Ordner ``app-testbed`` verwenden, um die " "Testsammlung deiner App auszuführen. Wenn zum Beispiel ``module1.tests`` der " "Einsprungpunkt deiner Testsammlung war, könntest du Folgendes ausführen:" #: ../../using/ios.rst:298 msgid "$ python app-testbed run -- module1.tests" msgstr "$ python app-testbed run -- module1.tests" #: ../../using/ios.rst:302 msgid "" "This is the equivalent of running ``python -m module1.tests`` on a desktop " "Python build. Any arguments after the ``--`` will be passed to the testbed " "as if they were arguments to ``python -m`` on a desktop machine." msgstr "" "Das entspricht dem Aufruf von ``python -m module1.tests`` auf einem Desktop-" "Python-Build. Alle Argumente nach dem ``--`` werden an das Testbed " "weitergegeben, als wären sie Argumente von ``python -m`` auf einem Desktop-" "Rechner." #: ../../using/ios.rst:306 msgid "You can also open the testbed project in Xcode by running:" msgstr "Du kannst das Testbed-Projekt auch in Xcode öffnen:" #: ../../using/ios.rst:308 msgid "$ open app-testbed/iOSTestbed.xcodeproj" msgstr "$ open app-testbed/iOSTestbed.xcodeproj" #: ../../using/ios.rst:312 msgid "This will allow you to use the full Xcode suite of tools for debugging." msgstr "" "Damit stehen dir die vollständigen Xcode-Werkzeuge zur Fehlersuche zur " "Verfügung." #: ../../using/ios.rst:314 msgid "" "The arguments used to run the test suite are defined as part of the test " "plan. To modify the test plan, select the test plan node of the project tree " "(it should be the first child of the root node), and select the " "\"Configurations\" tab. Modify the \"Arguments Passed On Launch\" value to " "change the testing arguments." msgstr "" "Die Argumente, mit denen die Testsammlung ausgeführt wird, sind Teil des " "Testplans. Um den Testplan zu ändern, wähle den Testplan-Knoten im " "Projektbaum (er sollte das erste Kind des Wurzelknotens sein) und dann den " "Reiter „Configurations“. Ändere den Wert „Arguments Passed On Launch“, um " "die Testargumente anzupassen." #: ../../using/ios.rst:320 msgid "" "The test plan also disables parallel testing, and specifies the use of the " "``Testbed.lldbinit`` file for providing configuration of the debugger. The " "default debugger configuration disables automatic breakpoints on the " "``SIGINT``, ``SIGUSR1``, ``SIGUSR2``, and ``SIGXFSZ`` signals." msgstr "" "Der Testplan schaltet außerdem paralleles Testen ab und gibt die Verwendung " "der Datei ``Testbed.lldbinit`` für die Konfiguration des Debuggers vor. Die " "Standardkonfiguration des Debuggers schaltet automatische Haltepunkte bei " "den Signalen ``SIGINT``, ``SIGUSR1``, ``SIGUSR2`` und ``SIGXFSZ`` ab." #: ../../using/ios.rst:326 msgid "App Store Compliance" msgstr "Vorgaben des App Store erfüllen" #: ../../using/ios.rst:328 msgid "" "The only mechanism for distributing apps to third-party iOS devices is to " "submit the app to the iOS App Store; apps submitted for distribution must " "pass Apple's app review process. This process includes a set of automated " "validation rules that inspect the submitted application bundle for " "problematic code. There are some steps that must be taken to ensure that " "your app will be able to pass these validation steps." msgstr "" "Der einzige Weg, Apps an fremde iOS-Geräte zu verteilen, ist die Einreichung " "im iOS App Store. Zur Verteilung eingereichte Apps müssen Apples App-" "Prüfverfahren durchlaufen. Dieses Verfahren umfasst eine Reihe automatischer " "Prüfregeln, die das eingereichte Anwendungsbündel auf bedenklichen Code " "untersuchen. Es gibt einige Schritte, die nötig sind, damit deine App diese " "Prüfungen besteht." #: ../../using/ios.rst:336 msgid "Incompatible code in the standard library" msgstr "Unverträglicher Code in der Standardbibliothek" #: ../../using/ios.rst:338 msgid "" "The Python standard library contains some code that is known to violate " "these automated rules. While these violations appear to be false positives, " "Apple's review rules cannot be challenged; so, it is necessary to modify the " "Python standard library for an app to pass App Store review." msgstr "" "Die Python-Standardbibliothek enthält Code, von dem bekannt ist, dass er " "gegen diese automatischen Regeln verstößt. Diese Verstöße scheinen zwar " "Fehlalarme zu sein, Apples Prüfregeln lassen sich aber nicht anfechten. " "Deshalb ist es nötig, die Python-Standardbibliothek zu verändern, damit eine " "App die Prüfung des App Store besteht." #: ../../using/ios.rst:343 msgid "" "The Python source tree contains :source:`a patch file ` that will remove all code that is known to cause " "issues with the App Store review process. This patch is applied " "automatically when building for iOS." msgstr "" "Der Python-Quellbaum enthält :source:`eine Patch-Datei `, die allen Code entfernt, von dem bekannt ist, dass " "er im Prüfverfahren des App Store Schwierigkeiten macht. Dieser Patch wird " "beim Bauen für iOS automatisch angewandt." #: ../../using/ios.rst:349 msgid "Privacy manifests" msgstr "Datenschutzmanifeste" #: ../../using/ios.rst:351 msgid "" "In April 2025, Apple introduced a requirement for `certain third-party " "libraries to provide a Privacy Manifest `__. As a result, if you have a binary module " "that uses one of the affected libraries, you must provide an ``.xcprivacy`` " "file for that library. OpenSSL is one library affected by this requirement, " "but there are others." msgstr "" "Im April 2025 hat Apple die Anforderung eingeführt, dass `bestimmte " "Bibliotheken von Dritten ein Privacy Manifest bereitstellen müssen `__. Wenn du also " "ein binäres Modul hast, das eine der betroffenen Bibliotheken verwendet, " "musst du für diese Bibliothek eine Datei ``.xcprivacy`` bereitstellen. " "OpenSSL ist eine der betroffenen Bibliotheken, es gibt aber weitere." #: ../../using/ios.rst:358 msgid "" "If you produce a binary module named ``mymodule.so``, and use you the Xcode " "build script described in step 7 above, you can place a ``mymodule." "xcprivacy`` file next to ``mymodule.so``, and the privacy manifest will be " "installed into the required location when the binary module is converted " "into a framework." msgstr "" "Wenn du ein binäres Modul namens ``mymodule.so`` erzeugst und das in Schritt " "7 beschriebene Xcode-Build-Skript verwendest, kannst du eine Datei " "``mymodule.xcprivacy`` neben ``mymodule.so`` legen — das Datenschutzmanifest " "wird dann beim Umwandeln des binären Moduls in ein Framework an den " "erforderlichen Ort installiert."

Back | FazBrowse Home | New Git URL