Răsfoiți Sursa

Rearranged file index somewhat

Björn Ritzl 5 ani în urmă
părinte
comite
18d4acdd56
3 a modificat fișierele cu 127 adăugiri și 29 ștergeri
  1. 46 29
      docs/en/en.json
  2. 8 0
      docs/en/manuals/file_access.md
  3. 73 0
      docs/en/manuals/macos.md

+ 46 - 29
docs/en/en.json

@@ -228,6 +228,14 @@
                         "path": "/manuals/importing-assets",
                         "name": "Importing and editing assets"
                     },
+                    {
+                        "path": "/manuals/adapting-graphics-to-screen-size",
+                        "name": "Adapting to different screen sizes"
+                    },
+                    {
+                        "path": "/manuals/live-update",
+                        "name": "Live update"
+                    },
                     {
                         "path": "/manuals/animation",
                         "name": "Animation"
@@ -252,10 +260,6 @@
                         "path": "/manuals/tilesource",
                         "name": "Tile source"
                     },
-                    {
-                        "path": "/manuals/adapting-graphics-to-screen-size",
-                        "name": "Adapting to different screen sizes"
-                    },
                     {
                         "path": "/manuals/texture-profiles",
                         "name": "Texture profiles"
@@ -394,10 +398,19 @@
                     {
                         "path": "/manuals/modules",
                         "name": "Modules"
-                    },
+                    }
+                ]
+            },
+            {
+                "name": "NETWORK AND FILE I/O",
+                "items": [
                     {
                         "path": "/manuals/networking",
                         "name": "Networking"
+                    },
+                    {
+                        "path": "/manuals/file_access",
+                        "name": "Working with files"
                     }
                 ]
             },
@@ -422,21 +435,25 @@
                 "name": "WORKFLOW",
                 "items": [
                     {
-                        "path": "/manuals/version-control",
-                        "name": "Version control"
+                        "path": "/manuals/adapting-graphics-to-screen-size",
+                        "name": "Adapting to different screen sizes"
                     },
                     {
-                        "path": "/manuals/writing-code",
-                        "name": "Writing code"
+                        "path": "/manuals/bundling",
+                        "name": "Bundling an application"
                     },
                     {
-                        "path": "/manuals/hot-reload",
-                        "name": "Hot reloading"
+                        "path": "/manuals/bob",
+                        "name": "Bob the builder"
                     },
                     {
                         "path": "/manuals/debugging",
                         "name": "Debugging"
                     },
+                    {
+                        "path": "/manuals/hot-reload",
+                        "name": "Hot reloading"
+                    },
                     {
                         "path": "/manuals/optimization",
                         "name": "Optimizing an application"
@@ -450,45 +467,41 @@
                         "name": "Refactoring"
                     },
                     {
-                        "path": "/manuals/bundling",
-                        "name": "Bundling an application"
+                        "path": "/manuals/dev-app",
+                        "name": "The mobile dev app"
                     },
                     {
-                        "path": "/manuals/bob",
-                        "name": "Bob the builder"
+                        "path": "/manuals/version-control",
+                        "name": "Version control"
                     },
                     {
-                        "path": "/manuals/dev-app",
-                        "name": "The mobile dev app"
+                        "path": "/manuals/writing-code",
+                        "name": "Writing code"
                     }
                 ]
             },
             {
                 "name": "PLATFORMS",
                 "items": [
-                    {
-                        "path": "/manuals/ios",
-                        "name": "iOS"
-                    },
                     {
                         "path": "/manuals/android",
                         "name": "Android"
                     },
                     {
-                        "path": "/manuals/html5",
-                        "name": "HTML5"
+                        "path": "/manuals/ios",
+                        "name": "iOS"
                     },
                     {
-                        "path": "/manuals/windows",
-                        "name": "Windows"
+                        "path": "/manuals/html5",
+                        "name": "HTML5"
                     },
                     {
-                        "path": "/manuals/instant-games",
-                        "name": "Facebook Instant Games"
+                        "path": "/manuals/macos",
+                        "name": "macOS"
                     },
                     {
-                        "path": "/manuals/live-update",
-                        "name": "Live update"
+                        "path": "/manuals/windows",
+                        "name": "Windows"
                     }
                 ]
             },
@@ -499,6 +512,10 @@
                         "path": "/manuals/facebook",
                         "name": "Facebook"
                     },
+                    {
+                        "path": "/manuals/instant-games",
+                        "name": "Facebook Instant Games"
+                    },
                     {
                         "path": "/manuals/iap",
                         "name": "In-app purchases"

+ 8 - 0
docs/en/manuals/file_access.md

@@ -0,0 +1,8 @@
+---
+title: Working with files
+brief: This manual explains how to save and load files and perform other kinds of file operations.
+---
+
+# Working with files
+
+NOT READY YET

+ 73 - 0
docs/en/manuals/macos.md

@@ -0,0 +1,73 @@
+---
+title: Defold development for the macOS platform
+brief: This manual describes how to build and run Defold applications on macOS
+---
+
+# macOS development
+
+Developing Defold applications for the macOS platform is a straight forward process with very few considerations to make.
+
+## Project settings
+
+macOS specific application configuration is done from the [OSX section](/manuals/project-settings/#osx) of the *game.project* settings file.
+
+## Application icon
+
+The application icon used for a macOS game must be in the .icns format. You can easily create a .icns file from a set of .png files collected as an iconset. Follow the [official instructions for creating a .icns file](https://developer.apple.com/library/archive/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html). Brief summary of the steps involved are:
+
+1. Create an iconset folder, eg `foobar.iconset`
+2. Copy icon files to the created folder:
+
+    * `icon_16x16.png`
+    * `[email protected]`
+    * `icon_32x32.png`
+    * `[email protected]`
+    * `icon_128x128.png`
+    * `[email protected]`
+    * `icon_256x256.png`
+    * `[email protected]`
+    * `icon_512x512.png`
+    * `[email protected]`
+
+3. Convert the .iconset folder to a .icns file using the `iconutil` command line tool:
+
+```
+iconutil -c icns -o foobar.icns foobar.iconset
+```
+
+## Signing and notarizing your game
+
+Apple requires all software distributed outside the Mac App Store to be notarized by Apple in order to run by default on macOS Catalina. Refer to the [official documentation](https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution/customizing_the_notarization_workflow) to learn how to add notarization to a scripted build environment outside of XCode. Brief summary of the steps involved are:
+
+1. Sign your game using `codesign`:
+
+```
+$ codesign --force --sign "Developer ID Application: Company Name" --options runtime --deep --timestamp Foobar.app
+```
+
+2. Zip and upload your game for notarization using `altool`.
+
+```
+$ xcrun altool --notarize-app
+               --primary-bundle-id "com.acme.foobar"
+               --username "AC_USERNAME"
+               --password "@keychain:AC_PASSWORD"
+               --asc-provider <ProviderShortname>
+               --file Foobar.zip
+
+altool[16765:378423] No errors uploading 'Foobar.zip'.
+RequestUUID = 2EFE2717-52EF-43A5-96DC-0797E4CA1041
+```
+
+3. Check the status of your submission using the returned request UUID from the call to `altool --notarize-app`:
+
+```
+$ xcrun altool --notarization-info 2EFE2717-52EF-43A5-96DC-0797E4CA1041
+               -u "AC_USERNAME"
+```
+
+4. Wait until the status becomes `success` and staple the notarization ticket to the game:
+
+```
+$ xcrun stapler staple "Foobar.app"
+```