You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/quickstarts/ui-library/includes/get-started-call/ios.md
+16-12Lines changed: 16 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,8 @@ Complete the following sections to set up the quickstart project.
25
25
26
26
In Xcode, create a new project:
27
27
28
+
1. In the **File** menu, select **New** > **Project**.
29
+
28
30
1. In **Choose a template for your new project**, select the **iOS** platform and select the **App** application template. The quickstart uses the UIKit storyboards. The quickstart doesn't create tests, so you can clear the **Include Tests** checkbox.
29
31
30
32
:::image type="content" source="../../media/xcode-new-project-template-select.png" alt-text="Screenshot that shows the Xcode new project dialog, with iOS and the App template selected.":::
@@ -67,9 +69,11 @@ To access the device's hardware, including the microphone and camera, update you
67
69
<string></string>
68
70
```
69
71
72
+
Here's an example of the `Info.plist` source code in an Xcodefile:
73
+
70
74
:::image type="content" source="../../media/xcode-info-plist-source-code.png" alt-text="Screenshot that shows an example of the info plist source code in an Xcode file.":::
71
75
72
-
1. To verify that device permission requests are added correctly, select **Open As** > **Property List**. The information property list looks similar to the following example:
76
+
1. To verify that device permission requests are added correctly, select**OpenAs**>**PropertyList**. Check that the information property list looks similar to the following example:
73
77
74
78
:::image type="content" source="../../media/xcode-info-plist.png" alt-text="Screenshot that shows the camera and microphone device privacy in Xcode.":::
75
79
@@ -129,13 +133,13 @@ To initialize the composite:
129
133
130
134
## Run the code
131
135
132
-
To build and run your app on the iOS simulator, select **Product** > **Run**, or use the (⌘-R) keyboard shortcut. Then, try out the call experience on the simulator:
136
+
To build and run your app on the iOS simulator, select**Product**>**Run**or use the (⌘-R) keyboard shortcut. Then, try out the call experience on the simulator:
133
137
134
138
1. Select**StartExperience**.
135
139
136
140
1. Accept audio permissions, andthenselect device, mic, and video settings.
137
141
138
-
1. Select **Start Call**.
142
+
1. Select**Startcall**.
139
143
140
144
:::image type="content" source="../../media/quick-start-calling-composite-running-ios.gif" alt-text="GIF animation that demonstrates the final look and feel of the quickstart iOS app.":::
141
145
@@ -145,19 +149,19 @@ The following classes and interfaces handle some key features of the Azure Commu
| [CallComposite](#create-callcomposite) | Component that renders a call experience with participant gallery and controls |
152
+
| [CallComposite](#create-callcomposite) | Component that renders a call experience that has a participant gallery and controls |
149
153
| [CallCompositeOptions](#create-callcomposite) | Settings for options like themes and event handling |
150
154
|RemoteOptions|Remote options to send to AzureCommunicationServices to join a [group call](#set-up-a-group-call) or a [Teams meeting](#set-up-a-teams-meeting). |
151
155
| [ThemeOptions](#apply-theme-options) | Customization options for the composite theme |
152
156
| [LocalizationOptions](#apply-localization-options) | Language options for the composite |
153
157
154
158
## UI Library functionality
155
159
156
-
Get the code to create key features for your iOS application.
160
+
Get the code to create key communication features for your iOS application.
157
161
158
162
### Create CallComposite
159
163
160
-
To create `CallComposite`, inside the `startCallComposite` function, initialize a `CallCompositeOptions` instance and a `CallComposite` instance.
164
+
To create `CallComposite`, inside the `startCallComposite` function, initialize a `CallCompositeOptions` instance and a `CallComposite`instance:
161
165
162
166
```swift
163
167
@objc private func startCallComposite() {
@@ -169,17 +173,17 @@ To create `CallComposite`, inside the `startCallComposite` function, initialize
169
173
170
174
### Set up authentication
171
175
172
-
To set up authentication, inside the `startCallComposite` function, initialize a `CommunicationTokenCredential` instance. Replace `<USER_ACCESS_TOKEN>` with your token.
176
+
To set up authentication, inside the `startCallComposite` function, initialize a `CommunicationTokenCredential` instance. Replace`<USER_ACCESS_TOKEN>` with your access token.
173
177
174
178
```swift
175
179
let communicationTokenCredential = try! CommunicationTokenCredential(token: "<USER_ACCESS_TOKEN>")
176
180
```
177
181
178
-
If you don't already have an access token, see [CreateAzureCommunicationServices access tokens](../../../identity/quick-create-identity.md).
182
+
If you don't already have an access token, [create an Azure Communication Services access token](../../../identity/quick-create-identity.md).
179
183
180
184
### Set up a group call
181
185
182
-
To set up a group call, inside the `startCallComposite` function, initialize a `RemoteOptions` instance for the `.groupCall` locator. Replace`<GROUP_CALL_ID>` with the group IDfor your call. Replace<DISPLAY_NAME>` with your name.
186
+
To set up a group call, inside the `startCallComposite` function, initialize a `RemoteOptions` instance for the `.groupCall` locator. Replace `<GROUP_CALL_ID>` with the group ID for your call. Replace `<DISPLAY_NAME>` with your name.
183
187
184
188
```swift
185
189
// let uuid = UUID() to create a new call
@@ -193,7 +197,7 @@ For more information about using a group ID for calls, see [Manage calls](../../
193
197
194
198
### Set up a Teams meeting
195
199
196
-
To set up a Teams meeting, inside the `startCallComposite` function, initialize a `RemoteOptions` instance for the `.teamsMeeting` locator. Replace `<TEAMS_MEETING_LINK>` with the Teams meeting link for your call. Replace `<DISPLAY_NAME>` with your name.
200
+
To set up a Microsoft Teams meeting, inside the `startCallComposite` function, initialize a `RemoteOptions` instance for the `.teamsMeeting` locator. Replace `<TEAMS_MEETING_LINK>` with the Teams meeting link for your call. Replace `<DISPLAY_NAME>` with your name.
197
201
198
202
```swift
199
203
let remoteOptions = RemoteOptions(for: .teamsMeeting(teamsLink: "<TEAMS_MEETING_LINK>"),
@@ -227,7 +231,7 @@ callComposite?.events.onError = { error in
227
231
228
232
### Apply theme options
229
233
230
-
To customize the theme for your application, create custom theme options that implement the `ThemeOptions` protocol. Include an instance of that new class in `CallCompositeOptions`:
234
+
To customize the communication experience in your application, create custom theme options that implement the `ThemeOptions` protocol. Include an instance of the new class in `CallCompositeOptions`:
231
235
232
236
```swift
233
237
class CustomThemeOptions: ThemeOptions {
@@ -247,7 +251,7 @@ For more information about how theming works, see the [theming guide](../../../.
247
251
248
252
To change the language in the composite, create custom localization options and include them in `CallCompositeOptions`. By default, all text labels use English (`SupportedLocale.en`) strings. You can use `LocalizationOptions` to set a different value for `locale`. By default, UI Library includes a set of `locale` values that you can use with the UI components. `SupportedLocale.values` provides a list of all supported languages.
249
253
250
-
In the following example, the composite is localized to French (`fr`).
254
+
In the following example, the composite is localized to French (`fr`):
251
255
252
256
```swift
253
257
// Option1: Use IntelliSense to get locales UI Library supports.
0 commit comments