What changed, and why it matters
This commit contains routine iOS app store release preparation changes. It updates the app bundle identifier, adds a required camera permission explanation for QR code scanning, refreshes launch screen images, and adds debug symbol generation for a bundled Monero wallet framework. There is no indication of a security vulnerability being fixed or introduced.
No security action required. Review the new camera usage description for accuracy and App Store compliance if desired.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff shows packaging and metadata changes for an iOS release: adding CFBundleShortVersionString to framework Info.plists, changing PRODUCT_BUNDLE_IDENTIFIER from org.magicgrants.skylight to org.magicgrants.skylightwallet, removing explicit CODE_SIGN_IDENTITY while keeping Automatic signing, adding a build phase to generate dSYMs for the MoneroWallet framework, updating launch image assets, and adding NSCameraUsageDescription for QR code scanning. No code logic, cryptographic, or network changes are present.
Changed components
iOS app packagingMoneroWallet.xcframework Info.plist metadataXcode project build configurationiOS launch screen assetsiOS camera permission descriptionInspect captured patch +33 / −10
diff --git a/.github/workflows/build-monero-c.yml b/.github/workflows/build-monero-c.yml
index 50bafc1..c6ef9b9 100644
--- a/.github/workflows/build-monero-c.yml
+++ b/.github/workflows/build-monero-c.yml
@@ -221,6 +221,8 @@ jobs:
<string>FMWK</string>
<key>CFBundleVersion</key>
<string>1.0</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
<key>MinimumOSVersion</key>
<string>15.0</string>
</dict>
diff --git a/ios/Frameworks/MoneroWallet.xcframework/ios-arm64-simulator/MoneroWallet.framework/Info.plist b/ios/Frameworks/MoneroWallet.xcframework/ios-arm64-simulator/MoneroWallet.framework/Info.plist
index 3b386c5..f129d27 100644
--- a/ios/Frameworks/MoneroWallet.xcframework/ios-arm64-simulator/MoneroWallet.framework/Info.plist
+++ b/ios/Frameworks/MoneroWallet.xcframework/ios-arm64-simulator/MoneroWallet.framework/Info.plist
@@ -12,6 +12,8 @@
<string>FMWK</string>
<key>CFBundleVersion</key>
<string>1.0</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
<key>MinimumOSVersion</key>
<string>15.0</string>
</dict>
diff --git a/ios/Frameworks/MoneroWallet.xcframework/ios-arm64/MoneroWallet.framework/Info.plist b/ios/Frameworks/MoneroWallet.xcframework/ios-arm64/MoneroWallet.framework/Info.plist
index 3b386c5..f129d27 100644
--- a/ios/Frameworks/MoneroWallet.xcframework/ios-arm64/MoneroWallet.framework/Info.plist
+++ b/ios/Frameworks/MoneroWallet.xcframework/ios-arm64/MoneroWallet.framework/Info.plist
@@ -12,6 +12,8 @@
<string>FMWK</string>
<key>CFBundleVersion</key>
<string>1.0</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
<key>MinimumOSVersion</key>
<string>15.0</string>
</dict>
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 4131fd8..c0121c9 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -213,6 +213,7 @@
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
FA400AF07F45AC9B9BB0A29C /* [CP] Embed Pods Frameworks */,
B05AE4C7A964EACCD3805024 /* [CP] Copy Pods Resources */,
+ 6FF8B85F2F19278000206F00 /* Generate MoneroWallet dSYM */,
);
buildRules = (
);
@@ -393,6 +394,23 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
+ 6FF8B85F2F19278000206F00 /* Generate MoneroWallet dSYM */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Frameworks/MoneroWallet.framework/MoneroWallet",
+ );
+ name = "Generate MoneroWallet dSYM";
+ outputPaths = (
+ "${DWARF_DSYM_FOLDER_PATH}/MoneroWallet.framework.dSYM",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [ \"${PLATFORM_NAME}\" = \"iphoneos\" ] && [ -f \"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Frameworks/MoneroWallet.framework/MoneroWallet\" ]; then\n DSYM_DIR=\"${DWARF_DSYM_FOLDER_PATH:-${BUILT_PRODUCTS_DIR}}\"\n mkdir -p \"${DSYM_DIR}\"\n dsymutil -o \"${DSYM_DIR}/MoneroWallet.framework.dSYM\" \"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Frameworks/MoneroWallet.framework/MoneroWallet\" 2>/dev/null || true\nfi\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -501,7 +519,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = Y62MZZFR2Y;
@@ -517,7 +534,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylight;
+ PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylightwallet;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -535,7 +552,7 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylight.RunnerTests;
+ PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylightwallet.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -553,7 +570,7 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylight.RunnerTests;
+ PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylightwallet.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
@@ -569,7 +586,7 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylight.RunnerTests;
+ PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylightwallet.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
@@ -693,7 +710,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = Y62MZZFR2Y;
@@ -709,7 +725,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylight;
+ PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylightwallet;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -725,7 +741,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = Y62MZZFR2Y;
@@ -741,7 +756,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylight;
+ PRODUCT_BUNDLE_IDENTIFIER = org.magicgrants.skylightwallet;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
index 9da19ea..77384ae 100644
Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
index 9da19ea..123dbfd 100644
Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
index 9da19ea..7f4d980 100644
Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ
diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard
index f2e259c..f6d9cd0 100644
--- a/ios/Runner/Base.lproj/LaunchScreen.storyboard
+++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard
@@ -32,6 +32,6 @@
</scene>
</scenes>
<resources>
- <image name="LaunchImage" width="168" height="185"/>
+ <image name="LaunchImage" width="168" height="168"/>
</resources>
</document>
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 1505222..15ccae2 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -75,5 +75,7 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
+ <key>NSCameraUsageDescription</key>
+ <string>We need access to your camera to scan QR codes for connection and wallet addresses.</string>
</dict>
</plist>
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.