blob: cb9a04dda120a2d4ce838705bbdb936c87fab3b8 [file] [log] [blame] [view]
# Matter TV Casting iOS App Example
This is a Matter TV Casting iOS app that can be used to cast content to a TV.
This app discovers TVs on the local network that act as commissioners, lets the
user select one, sends the TV a User Directed Commissioning request, enters
commissioning mode, advertises itself as a Commissionable Node and gets
commissioned. Then it allows the user to send Matter ContentLauncher commands to
the TV.
---
- [Matter TV Casting iOS App Example](#matter-tv-casting-ios-app-example)
- [Building the Application](#building-the-application)
- [Building through command line](#building-through-command-line)
- [Compilation Fixes](#compilation-fixes)
- [Installing the Application](#installing-the-application)
---
## Building the Application
Matter TV Casting iOS App Example can be built with the latest Xcode releases.
- Open the `TvCastingDarwin.xcworkspace` file located in
`examples/tv-casting-app/darwin` with Xcode.
- Then select the `TvCasting` scheme at the top.
- Running the `TvCasting` scheme in Xcode (select the scheme and then hit the
"play button" to "run" the scheme) will attempt to compile the application
and then install it to the connected iOS device selected in the scheme.
Because we do not share a developer group, directly running this scheme will
fail with missing signing configuration errors.
You need to update the Project configuration for TvCasting app to use your
Personal Developer account and a unique Bundle ID.
### Building through command line
To build the app through the command line, use the xcodebuild app.
```shell
xcodebuild -workspace TvCastingDarwin.xcworkspace -scheme TvCasting -sdk <SDK_TARGET>
```
The list of available SDKs can be found by using the showsdks flag.
```shell
xcodebuild -showsdks
```
### Compilation Fixes
Before you can run the `TvCasting` scheme, you need to amend the
`project.pbxproj` file for the TvCasting app project. The file is located here
`examples/tv-casting-app/darwin/TvCasting/TvCasting.xcodeproj/project.pbxproj`.
You can choose to amend this file via Xcode directly or manually with any text
editor. This Readme will focus on doing it via Xcode.
- With the `TvCastingDarwin.xcworkspace` loaded, you should see 1 project on
the left side pane in Xcode. `TvCasting`
- Selecting `TvCasting` should bring up the project configuration view in
Xcode. Next, select the `Signing & Capabilities` tab.
- Perform the following steps to enable building TvCasting app:
1. Ensure "Automatically manage signing" is checked
2. Select your Personal Team in the "Team" dropdown.
3. Change the bundle identifier from `com.matter.TvCasting` to something
unique, like `com.matter.TvCasting-username`. These bundle IDs get
reserved for a short amount of time and so it's best to use something
only you might think of to avoid conflicts (you'll see that the default
bundle ID does not work if you skip this step).
4. Confirm that the Signing Certificate now says "Apple Development:
<your personal account>"
Now you can install TvCasting app to your connected iOS device by clicking on
the "Play"/Run icon.
## Installing the Application
The first time you install this application to your iOS device, Xcode will not
be able to launch it. This is because iOS prevents arbitrary developer apps from
running prior to user consent. To give this application consent, navigate to
`Settings->General->VPN & Device Management` and give TvCasting app permission
to run.
Now you can launch the application from the Home screen or from Xcode by hitting
the run button once more.
## Debugging
Use the "TvCasting" scheme when building to enable debugging. If you wish to
build the app without any debugging symbols, use the "TvCasting Release" scheme.