Skip to content

Conversation

@TheBlackBit
Copy link
Contributor

@TheBlackBit TheBlackBit commented Dec 18, 2025

IOS Support Added for Holder CodeLab getting credentials.

https://theblackbit.github.io/multipaz-developer-website/

Signed-off-by: Ever Morales <ever.morales@koombea.com>
@TheBlackBit TheBlackBit force-pushed the feat/docs_ios_issuance branch from 3d03195 to 32a1dbf Compare December 18, 2025 16:19
@TheBlackBit TheBlackBit marked this pull request as ready for review December 18, 2025 16:24

#### **Step 1: Configure Info.plist**

The iOS app requires URL scheme configuration in `Info.plist`. Add the following to handle deep
Copy link
Contributor

@hanluOMH hanluOMH Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A lot of the readers are android engineers, do you mind adding more explanation about Info.plist, for example :what it contians ,what it can do?

thanks

Comment on lines +210 to +214
fun HandleUrl(url: String) {
val credentialOffers = globalCredentialOffers
if (credentialOffers == null) {
Logger.w(TAG, "HandleUrl: credentialOffers channel not yet initialized, URL will be ignored: $url")
return
Copy link
Contributor

@hanluOMH hanluOMH Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add TODO here (TODO inside or outside of handleUrl function, the difference between code-starter branch and main branch is code-starter has TODO)? also please modify the related code in code-starter branch.

Thanks

1. **Open in Xcode**: Navigate to `iosApp → iosApp.xcodeproj` (tested with Xcode 16.3)
2. **Clean Build**: In Xcode, go to **Product → Clean Build Folder**
3. **Run**: Click **Start the Active Scheme** to build and run the app
4. The app will install on your iOS device or simulator
Copy link
Contributor

@hanluOMH hanluOMH Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, i don't think iOS simulator works. The reason is the credentail will be stored in hardware related place. (It is just my guess ,do you mind testing it?)
If simulator can't work, please emphasis it on doc.

Thanks

}
}
}
}
Copy link
Contributor

@hanluOMH hanluOMH Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just like above ,as TODO here (inside or outside of the function)? (also modify code-starter branch), thanks

Comment on lines +610 to +620
2. Host an `apple-app-site-association` file at
`https://apps.multipaz.org/.well-known/apple-app-site-association`:

* Requires .well-known/assetlinks.json on the server
* Must include your app's signing certificate fingerprint
* Android automatically verifies the trust relationship
```json
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAM_ID.org.multipaz.samples.wallet.cmp",
"paths": ["/landing/*"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

duplicated with 6.3.3?

**For HTTPS Universal Links (Optional - Higher Security):**

#### **6.1 App Link Verification and Trust**
1. Add Associated Domains to your app's entitlements (`iosApp.entitlements`):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

duplicated with 6.3.2?

Copy link
Contributor

@hanluOMH hanluOMH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add reviews

Copy link
Member

@VishnuSanal VishnuSanal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@hanluOMH
Copy link
Contributor

hanluOMH commented Jan 6, 2026

@TheBlackBit ,
It looks good to me.
When i mean add TODO, the document should be the same as the codelab,right?
You should also modify the codelab code.

Make sure the codelab and the doc are the same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants