Skip to content

Commit 9b6487c

Browse files
committed
Merge branch 'main' of github.com:ionic-team/ionic-docs
# Conflicts: # docs/developing/tips.md
2 parents 643f0a6 + 586e8c8 commit 9b6487c

File tree

115 files changed

+962
-983
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+962
-983
lines changed

docs/angular/lifecycle.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ sidebar_label: ライフサイクル
1313

1414
このガイドでは、Ionic と Angular を使用して構築されたアプリでの Page Life Cycle のしくみについて説明します。(追記:Life Cycle とは、表示をはじめてから破棄するまでを指します。この間の特定のタイミングに設定されているイベントを Life Cycle Events といいます)
1515

16-
![Ionic life cycle events demo](/img/guides/lifecycle/ioniclifecycle.png)
16+
![Flowchart illustrating the Ionic page life cycle events and their sequence.](/img/guides/lifecycle/ioniclifecycle.png 'Ionic Lifecycle Diagram')
1717

1818
## Angular の Life Cycle Events
1919

@@ -47,7 +47,7 @@ Angular の Life Cycle Events に加えて、Ionic Angular には、使用可能
4747

4848
`ionViewWillLeave``ionViewDidLeave` についてですが、 `ionViewWillLeave` は現在のページから離脱する処理がはじまる前に呼び出されますが、 `ionViewDidLeave` は新しいページに遷移する処理が成功してから呼び出されます (新しいページの `ionViewDidEnter` が発火した後になります)。
4949

50-
![Ionic life cycle events demo](/img/guides/lifecycle/ioniclifecycle.gif)
50+
![Animated GIF showing Ionic page life cycle events in a console log as a page transition occurs.](/img/guides/lifecycle/ioniclifecycle.gif 'Ionic Lifecycle Animation')
5151

5252
## Ionic が Page の Life をどのように処理するか
5353

docs/angular/your-first-app.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ And voilà! Your Ionic app is now running in a web browser. Most of your app can
132132

133133
There are three tabs. Click on the Tab2 tab. It’s a blank canvas, aka the perfect spot to transform into a Photo Gallery. The Ionic CLI features Live Reload, so when you make changes and save them, the app is updated immediately!
134134

135-
![Before and after going through this tutorial](/img/guides/first-app-cap-ng/email-photogallery.gif)
135+
![Animated GIF showing the live reload feature in an Ionic app, with changes in code immediately updating the app in a web browser.](/img/guides/first-app-cap-ng/email-photogallery.gif 'Live Reload Feature in Ionic App')
136136

137137
Open the photo-gallery app folder in your code editor of choice, then navigate to `/src/app/tab2/tab2.page.html`. We see:
138138

docs/angular/your-first-app/2-taking-photos.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Then, open `tab2.page.html` and call the `addPhotoToGallery()` function when the
7070

7171
Save the file, and if it's not running already, restart the development server in your browser by running `ionic serve`. On the Photo Gallery tab, click the Camera button. If your computer has a webcam of any sort, a modal window appears. Take a selfie!
7272

73-
![Camera API on the web](/img/guides/first-app-cap-ng/camera-web.png)
73+
![A photo gallery app displaying a webcam selfie.](/img/guides/first-app-cap-ng/camera-web.png 'Webcam Selfie in Photo Gallery')
7474

7575
_(Your selfie is probably much better than mine)_
7676

docs/angular/your-first-app/6-deploying-mobile.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ ionic cap open ios
6060

6161
In order for some native plugins to work, user permissions must be configured. In our photo gallery app, this includes the Camera plugin: iOS displays a modal dialog automatically after the first time that `Camera.getPhoto()` is called, prompting the user to allow the app to use the Camera. The permission that drives this is labeled “Privacy - Camera Usage.” To set it, the `Info.plist` file must be modified ([more details here](https://capacitorjs.com/docs/ios/configuration)). To access it, click "Info," then expand "Custom iOS Target Properties."
6262

63-
![Xcode Custom iOS Target Properties](/img/guides/first-app-cap-ng/xcode-info-plist.png)
63+
![The Info.plist file in Xcode showing the NSCameraUsageDescription key added for camera access.](/img/guides/first-app-cap-ng/xcode-info-plist.png 'Xcode Info.plist Configuration')
6464

6565
Each setting in `Info.plist` has a low-level parameter name and a high-level name. By default, the property list editor shows the high-level names, but it's often useful to switch to showing the raw, low-level names. To do this, right-click anywhere in the property list editor and toggle "Raw Keys/Values."
6666

@@ -70,15 +70,15 @@ Follow the same process to add the other two Keys required of the Camera plugin:
7070

7171
Next, click on `App` in the Project Navigator on the left-hand side, then within the `Signing & Capabilities` section, select your Development Team.
7272

73-
![Xcode - Selecting Development Team](/img/guides/first-app-cap-ng/xcode-signing.png)
73+
![The Xcode interface displaying the Signing and Capabilities tab for an iOS app project.](/img/guides/first-app-cap-ng/xcode-signing.png 'Xcode Signing & Capabilities')
7474

7575
With permissions in place and Development Team selected, we are ready to try out the app on a real device! Connect an iOS device to your Mac computer, select it (`App -> Matthew’s iPhone` for me) then click the "Build" button to build, install, and launch the app on your device:
7676

77-
![Xcode build button](/img/guides/first-app-cap-ng/xcode-build-button.png)
77+
![Xcode toolbar highlighting the Build button used to compile and run an iOS app.](/img/guides/first-app-cap-ng/xcode-build-button.png 'Xcode Build Button')
7878

7979
Upon tapping the Camera button on the Photo Gallery tab, the permission prompt will display. Tap OK, then take a picture with the Camera. Afterward, the photo shows in the app!
8080

81-
![iOS Camera permissions](/img/guides/first-app-cap-ng/ios-permissions-photo.png)
81+
![Two iPhones side by side, one showing the camera permission prompt and the other displaying a photo taken with the app.](/img/guides/first-app-cap-ng/ios-permissions-photo.png 'iOS Camera Permission Prompt and Photo Result')
8282

8383
## Android Deployment
8484

@@ -92,7 +92,7 @@ ionic cap open android
9292

9393
Similar to iOS, we must enable the correct permissions to use the Camera. Configure these in the `AndroidManifest.xml` file. Android Studio will likely open this file automatically, but in case it doesn't, locate it under `android/app/src/main/`.
9494

95-
![Android Manifest location](/img/guides/first-app-cap-ng/android-manifest.png)
95+
![Android Studio editor showing the AndroidManifest.xml file with camera permissions.](/img/guides/first-app-cap-ng/android-manifest.png 'Android Manifest Permissions')
9696

9797
Scroll to the `Permissions` section and ensure these entries are included:
9898

@@ -103,11 +103,11 @@ Scroll to the `Permissions` section and ensure these entries are included:
103103

104104
Save the file. With permissions in place, we are ready to try out the app on a real device! Connect an Android device to your computer. Within Android Studio, click the "Run" button, select the attached Android device, then click OK to build, install, and launch the app on your device.
105105

106-
![Launching app on Android](/img/guides/first-app-cap-ng/android-device.png)
106+
![The Android Studio interface with arrows pointing to the Run button and the connected device.](/img/guides/first-app-cap-ng/android-device.png 'Android Studio Run Configuration')
107107

108108
Once again, upon tapping the Camera button on the Photo Gallery tab, the permission prompt should be displayed. Tap OK, then take a picture with the Camera. Afterward, the photo should appear in the app.
109109

110-
![Android Camera permissions](/img/guides/first-app-cap-ng/android-permissions-photo.png)
110+
![Two Android phones side by side, one showing the camera permission prompt and the other displaying a photo taken with the app.](/img/guides/first-app-cap-ng/android-permissions-photo.png 'Android Permissions and Photo Capture')
111111

112112
Our Photo Gallery app has just been deployed to Android and iOS devices. 🎉
113113

docs/core-concepts/webview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Ionic アプリは[Web 技術](../reference/glossary.md#web-standards)をつか
2222

2323
最近の Web View は、カメラ、センサー、GPS、スピーカー、Bluetooth などのハードウェア機能のための組み込み<a href="https://whatwebcando.today" target="_blank">HTML5 APIs</a>を多数提供していますが、プラットフォーム固有のハードウェア API にアクセスする必要がある場合もあります。Ionic アプリでは、通常は JavaScript API を利用してネイティブプラグインにアクセスしてブリッジする形でハードウェア API を利用することができます。
2424

25-
![webview architecture](/img/building/webview-architecture.png)
25+
![Diagram illustrating the architecture of a Web View in Ionic apps, showing the bridge between native app components and web components.](/img/building/webview-architecture.png 'Web View Architecture Diagram')
2626

2727
Ionic Web View プラグインは、最新の JavaScript アプリケーションに特化しています。iOS と Android の両方で、アプリファイルは常に `http://` プロトコルを使ってデバイス上で動作する最適化された HTTP サーバーにホストされます。
2828

@@ -47,4 +47,4 @@ Cordova アプリでは、[Ionic Web View plugin](https://github.com/ionic-team/
4747
### 実装
4848

4949
- **iOS**: <a href="https://developer.apple.com/documentation/webkit/wkwebview" target="_blank">WKWebView</a>
50-
- **Android**: <a href="https://developer.chrome.com/multidevice/webview/overview" target="_blank">Web View for Android</a>
50+
- **Android**: <a href="https://developer.android.com/reference/android/webkit/WebView" target="_blank">WebView for Android</a>

docs/deployment/play-store.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,15 @@ If you haven't made the switch to Android app bundles yet, you will need to opt
6969
First, create a new app in the Google Play Console. In order to enable app signing, you'll need to navigate to the new release screen, on one of the Production, Open testing, closed testing, or internal testing pages.
7070
Select the Create new release button as seen below (it doesn't matter which release type, since you don't have to actually go through with creating a new release right now):
7171

72-
![Select create new release in Google Play Console's Production tab](https://blog.ionicframework.com/wp-content/uploads/2021/12/newapps-release-1024x561.png)
72+
![Google Play Console's Production tab with arrow pointing to the 'Create new release' button.](https://blog.ionicframework.com/wp-content/uploads/2021/12/newapps-release-1024x561.png "Google Play Console New Release Creation")
7373

7474
Under the App integrity section, click the **Change app signing key** button:
7575

76-
![Select change app signing key in Google Play Console's Production tab](https://blog.ionicframework.com/wp-content/uploads/2021/12/newapps-signingkey.png)
76+
![Google Play Console's App integrity section with the 'Change app signing key' button highlighted.](https://blog.ionicframework.com/wp-content/uploads/2021/12/newapps-signingkey.png "Google Play Console Change App Signing Key Option")
7777

7878
Next, select the **Export and upload a key from Java Keystore** option. This is the only way in which you can retain the key and have Google Play use it for signing. If you're using Appflow to build Android apps in the cloud, this is also the required option so you can upload the keystore file to Appflow.
7979

80-
![Uploading a keystore file to Google Play Console](https://blog.ionicframework.com/wp-content/uploads/2021/12/newapps-export-1024x564.png)
80+
![The Google Play Console showing the option to 'Export and upload a key from Java Keystore'.](https://blog.ionicframework.com/wp-content/uploads/2021/12/newapps-export-1024x564.png "Google Play Console Export and Upload Key Option")
8181

8282
Follow the instructions on the screen to generate the Keystore and you can use the same Keystore file to sign your app in the Appflow dashboard as well. If you need any help generating the Keystore file, you can refer to our docs [here](https://ionic.io/docs/appflow/package/credentials#android-certificates).
8383
Once the generated zip file has been uploaded, you're all set! Build an AAB binary signed with the keystore file then upload it to Google Play.
@@ -88,7 +88,7 @@ As of now, existing apps aren't required to use the AAB format, but you can stil
8888

8989
To opt into app signing, you'll need to upload the app signing key used to sign previous releases of the app. Navigate to Setup -> App integrity, then choose one of the two methods seen in the screenshot below. Once the key has been uploaded, you can enroll in Play App Signing.
9090

91-
![App integrity setup in Google Play Console](https://blog.ionicframework.com/wp-content/uploads/2021/12/existingapps-optin.png)
91+
![The opt-in options for Play App Signing in the Google Play Console.](https://blog.ionicframework.com/wp-content/uploads/2021/12/existingapps-optin.png "Google Play Console Opt-in to Play App Signing")
9292

9393
:::tip
9494
With smaller app sizes, improved performance, and enhanced security, the AAB binary format is a win for app developers and users alike. If you have an existing Android app using the APK format, consider migrating to AAB to take advantage of all the great features it provides.
@@ -140,7 +140,7 @@ Making a developer account with Google Play costs $25 USD.
140140

141141
Once a developer account has been created, go ahead and click the `Create an Application`
142142

143-
![Create an App button](/img/publishing/newAppGPlay.png)
143+
![The Google Play Store Developer Console with the 'CREATE APPLICATION' button highlighted.](/img/publishing/newAppGPlay.png "Google Play Store Create Application Button")
144144

145145
Be sure to fill out the description for the app along with providing screenshots and additional info.
146146
When ready, upload the signed release AAB/APK that was generated and publish the app.

docs/developer-resources/guides/first-app-v3/intro.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The great thing about Ionic is that with one codebase, you can build for any platform using familiar web tools and languages. Follow along as we create a working Photo Gallery. Here’s the before and after:
44

5-
![Before and after going through this tutorial](/img/guides/first-app-v3/gallery-combined.png)
5+
![An Ionic app's transformation from a blank 'Tab Two' to a 'Photo Gallery' with images.](/img/guides/first-app-v3/gallery-combined.png 'Ionic App Before and After Photo Gallery')
66

77
It’s easy to get started. Reference code for this guide can be [found on GitHub](https://github.com/ionic-team/photo-gallery-tutorial-ionic3/).
88

@@ -76,7 +76,7 @@ And voilà! Your Ionic app is now running in a web browser. Most of your app can
7676

7777
There are three tabs: “Home”, “About”, and “Contact.” Click on the About tab. It’s a blank canvas, aka the perfect spot to add camera functionality. Let’s begin to transform the About page into a Photo Gallery. Ionic features LiveReload, so when you make changes and save them, the app is updated immediately!
7878

79-
![Before and after going through this tutorial](/img/guides/first-app-v3/email-photogallery.gif)
79+
![Animated GIF demonstrating the LiveReload feature in Ionic, showing real-time updates in the app after code changes.](/img/guides/first-app-v3/email-photogallery.gif 'Ionic LiveReload Feature Demonstration')
8080

8181
Open the photo-gallery app folder in your favorite code editor of choice, then navigate to `/src/pages/about/about.html`. We see:
8282

docs/developer-resources/guides/first-app-v3/realtime-updates-ionic-deploy.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ $ ionic cordova plugin add cordova-plugin-ionic@latest --save
1717

1818
There are two unique values to provide: your app id and channel name. Sign into Appflow, then find the App Id on your app’s dashboard:
1919

20-
![app id location](/img/guides/first-app-v3/app-id-location.png)
20+
![The location of the App ID in the Appflow dashboard.](/img/guides/first-app-v3/app-id-location.png 'Appflow App ID Location')
2121

2222
And we’ll just use “Master” as the channel name. Putting this together looks like:
2323

@@ -168,7 +168,7 @@ $ git push ionic master
168168

169169
Log into the [Appflow dashboard](https://dashboard.ionicframework.com) and navigate to Deploy -> Builds. You’ll see this newest commit begin to build immediately. Since we assigned the Appflow plugin to the Master branch (the one we always Git Push to), the Channel label will also point to this commit, effectively auto-deploying this change to all app users:
170170

171-
![deploy channel](/img/guides/first-app-v3/deploy-channel.png)
171+
![The Deploy Builds section in the Appflow dashboard.](/img/guides/first-app-v3/deploy-channel.png 'Appflow Deploy Builds')
172172

173173
A Channel points to a specific JavaScript Build or Snapshot of your app that will be shared with devices listening to that channel for updates. You can change which Build a Channel points to whenever you’d like.
174174

@@ -180,7 +180,7 @@ What if you deploy a change, then realize that there is a bug? Or perhaps you’
180180

181181
On the Deploy Builds page, click the “Assign to Channel” button on the previous commit, then click “Deploy.” App users will be reverted to the previous version, and our “Photo Gallery” name has been restored.
182182

183-
![deploy channel](/img/guides/first-app-v3/deploy-revertChange.png)
183+
![The Deploy Builds section in Appflow with a commit labeled 'set name to Photo Gallery' being assigned to the master channel for rollback.](/img/guides/first-app-v3/deploy-revertChange.png 'Appflow Deploy Revert Change')
184184

185185
This was just a taste of what you can do with Appflow Live Updates! You can also set up multiple deployment channels to send targeted updates to specific groups of users. Use it to run A/B tests, or target the distribution of updates by audience, geography, or test group.
186186

docs/developer-resources/guides/first-app-v3/theming.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ Previously, we converted our single use Camera app into an epic photo gallery. N
44

55
Ionic has five default colors, defined as Sass variables, that can be used to change the color of its UI components:
66

7-
![v3-theming](/img/guides/first-app-v3/v3-theming.png)
7+
![Ionic's default Sass color variables for theming: 'primary", secondary, danger, light, and dark.](/img/guides/first-app-v3/v3-theming.png 'Default Ionic Sass Variables')
88

99
You can customize each color further by supplying a base and contract property. Base acts as the background color and contrast acts as the text color for most components. This provides much more flexible control over your styles:
1010

11-
![v3-theming-colors](/img/guides/first-app-v3/v3-themeColors.png)
11+
![Code snippet showing customized Ionic Sass variables with additional twitter color base and contrast properties.](/img/guides/first-app-v3/v3-themeColors.png 'Customized Ionic Sass Variables')
1212

1313
You can find these colors defined in `src/theme/variables.scss`.
1414

@@ -22,7 +22,7 @@ $colors: (
2222

2323
But wait, there’s more! Ionic automatically provides platform specific styles based on the device the application is running on, giving that native look and feel your users are used to:
2424

25-
![ios and android comparison](/img/guides/first-app-v3/ion-lab-comparison.png)
25+
![Comparing the native look of an Ionic app on iOS and Android platforms.](/img/guides/first-app-v3/ion-lab-comparison.png 'Ionic Platform Specific Styles Comparison')
2626

2727
In our app, this is clearly visible in how the header and the icons are styled.
2828

@@ -40,7 +40,7 @@ imports: [
4040

4141
Now, the iOS version of our app has a Material Design skin!
4242

43-
![ios and android comparison](/img/guides/first-app-v3/ion-lab-md-styling.png)
43+
![An Ionic app with Material Design styling applied on an iOS device.](/img/guides/first-app-v3/ion-lab-md-styling.png 'Ionic Material Design Styling on iOS')
4444

4545
Creating gorgeous-looking Ionic apps is easy with Sass variables and platform-specific styling. You now have everything you need to get started with Ionic. Go forth and build great apps!
4646

docs/developer-resources/guides/first-app-v3/track-bugs-ionic-monitoring.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ ionic serve
7575

7676
Tap on the Gallery tab, then the camera button. A runtime error should occur. In a browser, head over to the [Appflow dashboard](https://dashboard.ionicframework.com), then Monitor -> Monitoring. After a few minutes, the error should appear:
7777

78-
![event monitoring](/img/guides/first-app-v3/monitoring-event.png)
78+
![An event showing error 'takePhoto is not a function' with status 'New'.](/img/guides/first-app-v3/monitoring-event.png 'Ionic Monitoring Event Overview')
7979

8080
Clicking on the event gives us lots of details surrounding what happened, such as a full stack trace. In this instance, we see that the error occurred three times on Mac OS X in the Chrome web browser.
8181

82-
![event details](/img/guides/first-app-v3/monitoring-details.png)
82+
![Detailed view of an event log displaying a TypeError stack trace and error details such as device, browser, and operating system.](/img/guides/first-app-v3/monitoring-details.png 'Detailed Ionic Monitoring Event Log')
8383

8484
Given the proliferation of mobile devices and operating systems these days, this is immensely powerful. Armed with these details, we can hone in on the problem and fix it quickly.
8585

0 commit comments

Comments
 (0)