Update example app bundle IDs and icons for SDK branding
- Change iOS and macOS example app bundle identifiers to `com.ondeinference.OndeExampleSDKDart` and `com.ondeinference.OndeExampleSDKReactNative` for Dart and React Native samples, respectively. - Update entitlements and Info.plist files to match new bundle IDs. - Add or update app icons for macOS and React Native examples. - Grant `com.apple.developer.kernel.increased-memory-limit` entitlement to iOS Dart example for improved model loading on device. - Clarify App Group usage comments in Dart example. - Set Expo icon and bundle identifier for React Native example.
Seto Elkahfi committed
May 14, 2026 at 12:28 UTC
88b8b5655dc108bc71d1f415b71994b4961d6360
34 files changed
+36
-33
sdk/dart/example/ios/Runner.xcodeproj/project.pbxproj
+6
-6
@@ -487,7 +487,7 @@
487
"$(inherited)",
488
"-ld_classic",
489
);
490
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample;
490
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart;
491
PRODUCT_NAME = "$(TARGET_NAME)";
492
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
493
SWIFT_VERSION = 5.0;
@@ -508,7 +508,7 @@
508
"$(inherited)",
509
"-ld_classic",
510
);
511
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample.RunnerTests;
511
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart.RunnerTests;
512
PRODUCT_NAME = "$(TARGET_NAME)";
513
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
514
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -530,7 +530,7 @@
530
"$(inherited)",
531
"-ld_classic",
532
);
533
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample.RunnerTests;
533
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart.RunnerTests;
534
PRODUCT_NAME = "$(TARGET_NAME)";
535
SWIFT_VERSION = 5.0;
536
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
@@ -550,7 +550,7 @@
550
"$(inherited)",
551
"-ld_classic",
552
);
553
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample.RunnerTests;
553
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart.RunnerTests;
554
PRODUCT_NAME = "$(TARGET_NAME)";
555
SWIFT_VERSION = 5.0;
556
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
@@ -687,7 +687,7 @@
687
"$(inherited)",
688
"-ld_classic",
689
);
690
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample;
690
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart;
691
PRODUCT_NAME = "$(TARGET_NAME)";
692
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
693
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -715,7 +715,7 @@
715
"$(inherited)",
716
"-ld_classic",
717
);
718
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample;
718
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart;
719
PRODUCT_NAME = "$(TARGET_NAME)";
720
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
721
SWIFT_VERSION = 5.0;
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
Binary files a/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/sdk/dart/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
sdk/dart/example/ios/Runner/Runner.entitlements
+5
-2
@@ -1,7 +1,10 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
3
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4
<plist version="1.0">
5
<dict>
6
+ <key>com.apple.developer.kernel.increased-memory-limit</key>
7
+ <true />
8
<key>com.apple.security.application-groups</key>
9
<array>
10
<string>group.com.ondeinference.apps</string>
sdk/dart/example/lib/main.dart
+4
-4
@@ -39,10 +39,10 @@ void main() async {
39
40
// Pick a cache directory that works inside app sandboxes.
41
//
42
- // On iOS and macOS, try the shared App Group container first
43
- // (group.com.ondeinference.apps) so Onde-powered apps can reuse
44
- // downloaded models. If that is not available, fall back to the app's
45
- // own Application Support directory.
42
+ // On iOS and macOS, the SDK examples use the shared Onde App Group
43
+ // (group.com.ondeinference.apps) so Swift, Flutter, and React Native sample
44
+ // apps can reuse the same downloaded models. If the entitlement is missing,
45
+ // fall back to the app's own Application Support directory.
46
//
47
// Android has no App Group, so it always uses the fallback.
48
//
sdk/dart/example/macos/Runner.xcodeproj/project.pbxproj
+3
-3
@@ -479,7 +479,7 @@
479
CURRENT_PROJECT_VERSION = 1;
480
GENERATE_INFOPLIST_FILE = YES;
481
MARKETING_VERSION = 1.0;
482
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample.RunnerTests;
482
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart.RunnerTests;
483
PRODUCT_NAME = "$(TARGET_NAME)";
484
SWIFT_VERSION = 5.0;
485
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/onde_inference_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/onde_inference_example";
@@ -494,7 +494,7 @@
494
CURRENT_PROJECT_VERSION = 1;
495
GENERATE_INFOPLIST_FILE = YES;
496
MARKETING_VERSION = 1.0;
497
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample.RunnerTests;
497
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart.RunnerTests;
498
PRODUCT_NAME = "$(TARGET_NAME)";
499
SWIFT_VERSION = 5.0;
500
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/onde_inference_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/onde_inference_example";
@@ -509,7 +509,7 @@
509
CURRENT_PROJECT_VERSION = 1;
510
GENERATE_INFOPLIST_FILE = YES;
511
MARKETING_VERSION = 1.0;
512
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample.RunnerTests;
512
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart.RunnerTests;
513
PRODUCT_NAME = "$(TARGET_NAME)";
514
SWIFT_VERSION = 5.0;
515
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/onde_inference_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/onde_inference_example";
sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
Binary files a/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and b/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ
sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
Binary files a/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and b/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ
sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
Binary files a/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and b/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ
sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
Binary files a/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and b/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ
sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
Binary files a/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and b/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ
sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
Binary files a/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and b/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ
sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
Binary files a/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and b/sdk/dart/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ
sdk/dart/example/macos/Runner/Configs/AppInfo.xcconfig
+1
-1
@@ -8,7 +8,7 @@
8
PRODUCT_NAME = onde_inference_example
9
10
// The application's bundle identifier
11
-PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.ondeInferenceExample
11
+PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKDart
12
13
// The copyright displayed in application information
14
PRODUCT_COPYRIGHT = Copyright © 2026 com.ondeinference. All rights reserved.
sdk/dart/example/macos/Runner/DebugProfile.entitlements
+7
-6
@@ -1,15 +1,16 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
3
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4
<plist version="1.0">
5
<dict>
6
<key>com.apple.security.app-sandbox</key>
6
- <true/>
7
+ <true />
8
<key>com.apple.security.cs.allow-jit</key>
8
- <true/>
9
+ <true />
10
<key>com.apple.security.network.client</key>
10
- <true/>
11
+ <true />
12
<key>com.apple.security.network.server</key>
12
- <true/>
13
+ <true />
14
<key>com.apple.security.application-groups</key>
15
<array>
16
<string>group.com.ondeinference.apps</string>
sdk/dart/example/macos/Runner/Release.entitlements
+4
-3
@@ -1,9 +1,10 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
3
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4
<plist version="1.0">
5
<dict>
6
<key>com.apple.security.app-sandbox</key>
6
- <true/>
7
+ <true />
8
<key>com.apple.security.application-groups</key>
9
<array>
10
<string>group.com.ondeinference.apps</string>
sdk/react-native/example/app.json
+3
-5
@@ -3,13 +3,11 @@
3
"name": "Onde Example",
4
"slug": "onde-example",
5
"version": "0.0.1",
6
+ "icon": "./assets/icon.png",
7
"orientation": "portrait",
7
- "platforms": [
8
- "ios",
9
- "android"
10
- ],
8
+ "platforms": ["ios", "android"],
9
"ios": {
12
- "bundleIdentifier": "com.ondeinference.example",
10
+ "bundleIdentifier": "com.ondeinference.OndeExampleSDKReactNative",
11
"supportsTablet": true,
12
"deploymentTarget": "16.0",
13
"appleTeamId": "2TQF86ZACD"
sdk/react-native/example/assets/icon.png
Binary files /dev/null and b/sdk/react-native/example/assets/icon.png differ
sdk/react-native/example/ios/OndeExample.xcodeproj/project.pbxproj
+2
-2
@@ -356,7 +356,7 @@
356
"-lc++",
357
);
358
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
359
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.example;
359
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKReactNative;
360
PRODUCT_NAME = OndeExample;
361
SWIFT_OBJC_BRIDGING_HEADER = "OndeExample/OndeExample-Bridging-Header.h";
362
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -387,7 +387,7 @@
387
"-lc++",
388
);
389
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
390
- PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.example;
390
+ PRODUCT_BUNDLE_IDENTIFIER = com.ondeinference.OndeExampleSDKReactNative;
391
PRODUCT_NAME = OndeExample;
392
SWIFT_OBJC_BRIDGING_HEADER = "OndeExample/OndeExample-Bridging-Header.h";
393
SWIFT_VERSION = 5.0;
sdk/react-native/example/ios/OndeExample/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png
Binary files a/sdk/react-native/example/ios/OndeExample/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png and b/sdk/react-native/example/ios/OndeExample/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png differ
sdk/react-native/example/ios/OndeExample/Info.plist
+1
-1
@@ -28,7 +28,7 @@
28
<dict>
29
<key>CFBundleURLSchemes</key>
30
<array>
31
- <string>com.ondeinference.example</string>
31
+ <string>com.ondeinference.OndeExampleSDKReactNative</string>
32
</array>
33
</dict>
34
</array>