@ondeinference / onde / commits / 88b8b56

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>