fix missing CFBundleIdentifier by using generated Info.plist

Move privacy usage descriptions from custom Info.plist to build
settings (INFOPLIST_KEY_*) and enable GENERATE_INFOPLIST_FILE so
Xcode generates a complete Info.plist with all required keys.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-15 23:07:00 +01:00
parent 70aee19da0
commit 5b3f165f6e
3 changed files with 9 additions and 15 deletions

View File

@@ -46,7 +46,6 @@
989E1C6DD70521684A5CB77F /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
9CD664C8607AD9DC37A6C8D1 /* TranscriptionService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranscriptionService.swift; sourceTree = "<group>"; };
BE004D539240AD09CEDA1897 /* SummarizationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SummarizationService.swift; sourceTree = "<group>"; };
C644C7A7F19E610C2D413C28 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
D4431B77FD9EDB156C12BB19 /* DiaryViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiaryViewModel.swift; sourceTree = "<group>"; };
D4CCBA3B214071BEDD37CB6E /* DiaryEntryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiaryEntryView.swift; sourceTree = "<group>"; };
E4B15363D4D0CAD8C0DD46D6 /* RecordingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordingView.swift; sourceTree = "<group>"; };
@@ -139,7 +138,6 @@
142BDBF117BAFAC9CA20527E /* Services */,
88B119656D1AB183CCE625F9 /* ViewModels */,
C12EA9E46E07D0BD5F8F9158 /* Views */,
C644C7A7F19E610C2D413C28 /* Info.plist */,
F18ECC39AB60EF3AFF82EB90 /* VoiceDiary.entitlements */,
);
path = VoiceDiary;
@@ -290,7 +288,9 @@
CODE_SIGN_ENTITLEMENTS = VoiceDiary/VoiceDiary.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = VoiceDiary/Info.plist;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSMicrophoneUsageDescription = "Voice Diary needs microphone access to record your voice memos for diary entries.";
INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "Voice Diary uses on-device speech recognition to transcribe your voice memos.";
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
@@ -371,7 +371,9 @@
CODE_SIGN_ENTITLEMENTS = VoiceDiary/VoiceDiary.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = VoiceDiary/Info.plist;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSMicrophoneUsageDescription = "Voice Diary needs microphone access to record your voice memos for diary entries.";
INFOPLIST_KEY_NSSpeechRecognitionUsageDescription = "Voice Diary uses on-device speech recognition to transcribe your voice memos.";
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSMicrophoneUsageDescription</key>
<string>Voice Diary needs microphone access to record your voice memos for diary entries.</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>Voice Diary uses on-device speech recognition to transcribe your voice memos.</string>
</dict>
</plist>

View File

@@ -26,7 +26,7 @@ targets:
- VoiceDiary
settings:
base:
INFOPLIST_FILE: VoiceDiary/Info.plist
GENERATE_INFOPLIST_FILE: true
PRODUCT_BUNDLE_IDENTIFIER: com.felixfoertsch.VoiceDiary
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
ENABLE_PREVIEWS: true
@@ -34,6 +34,8 @@ targets:
INFOPLIST_KEY_UILaunchScreen_Generation: true
INFOPLIST_KEY_UISupportedInterfaceOrientations: UIInterfaceOrientationPortrait
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad: "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
INFOPLIST_KEY_NSMicrophoneUsageDescription: "Voice Diary needs microphone access to record your voice memos for diary entries."
INFOPLIST_KEY_NSSpeechRecognitionUsageDescription: "Voice Diary uses on-device speech recognition to transcribe your voice memos."
entitlements:
path: VoiceDiary/VoiceDiary.entitlements
properties: