@ondeinference / klepon / commits / 46ad0fc

Add shared signing config and improve build setup

- Add `Configs/Signing.xcconfig` and example for local signing - Reference signing config in both app and watch targets - Share CFBundleVersion between app and watch for consistent builds - Disable user script sandboxing for both targets - Add explicit dependency on Klepon Watch target - Update entitlements formatting and project metadata - Shorten App Store subtitle to "Indonesian food guide"

Seto Elkahfi committed May 14, 2026 at 18:15 UTC 46ad0fc71f51dff5772a4be71f959a986936375b
7 files changed +120 -20
.gitignore
+1
@@ -56,6 +56,7 @@ venv/
56 .env.*
57 *.local
58 *.xcconfig.local
59 +Configs/Signing.local.xcconfig
60 *.secret
61 Secrets/
62 secrets/
AppStore/metadata/en-US/subtitle.txt
+1 -1
@@ -1 +1 @@
1 -Your pocket guide to Indonesian food
1 +Indonesian food guide
Configs/Signing.local.xcconfig.example new
+4
@@ -0,0 +1,4 @@
1 +// Copy this file to `Configs/Signing.local.xcconfig`
2 +// and replace the placeholder with your own Apple Developer team ID.
3 +
4 +DEVELOPMENT_TEAM = YOURTEAMID
Configs/Signing.xcconfig new
+12
@@ -0,0 +1,12 @@
1 +// Shared signing settings for the XcodeGen-generated project.
2 +//
3 +// Create `Configs/Signing.local.xcconfig` on your machine with:
4 +//
5 +// DEVELOPMENT_TEAM = YOURTEAMID
6 +//
7 +// This file is git-ignored so you can keep your own Apple Developer team
8 +// local without committing it.
9 +
10 +#include? "Signing.local.xcconfig"
11 +
12 +CODE_SIGN_STYLE = Automatic
Klepon.xcodeproj/project.pbxproj
+70 -11
@@ -11,6 +11,7 @@
11 03D16A2386EB68FED8D92D52 /* GuideEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0A0935AE4B398B281758834 /* GuideEntry.swift */; };
12 05BF0404B7030EDCD3D8C357 /* GuideArtworkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F2850226B4B05FF758C1F93 /* GuideArtworkView.swift */; };
13 0977CD6BFFDBDBE3B7795924 /* collections.json in Resources */ = {isa = PBXBuildFile; fileRef = 1FDDB0F88FF430ABD679AD89 /* collections.json */; };
14 + 0CE2632DF6FB02163D55BB65 /* Klepon Watch.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = 9E76510CC840CE068B0FC381 /* Klepon Watch.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
15 0D685E35EE50C926DC6FBE4C /* KleponChip.swift in Sources */ = {isa = PBXBuildFile; fileRef = B83C4F3C8688072191AA16C6 /* KleponChip.swift */; };
16 0E69E79C5FADF1633FE3D63F /* KleponColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C675ABBBA25BBA25A8DE29BE /* KleponColor.swift */; };
17 14B7CE6E6A0EB12B709F7B55 /* KleponTypography.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD520C870387E82E9A1533C2 /* KleponTypography.swift */; };
@@ -52,10 +53,35 @@
53 FD0E1BA888E3CE73875D58FF /* RecentSearchStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 643D52BCEDF66CC8FE8A1234 /* RecentSearchStore.swift */; };
54 /* End PBXBuildFile section */
55
56 +/* Begin PBXContainerItemProxy section */
57 + D55C73775065842DC4A51797 /* PBXContainerItemProxy */ = {
58 + isa = PBXContainerItemProxy;
59 + containerPortal = 05A5707BDA883282DEB132FF /* Project object */;
60 + proxyType = 1;
61 + remoteGlobalIDString = E8CEBF52617721AEE450A7CF;
62 + remoteInfo = "Klepon Watch";
63 + };
64 +/* End PBXContainerItemProxy section */
65 +
66 +/* Begin PBXCopyFilesBuildPhase section */
67 + F3457485B5B2DC81D4FAA704 /* Embed Watch Content */ = {
68 + isa = PBXCopyFilesBuildPhase;
69 + buildActionMask = 2147483647;
70 + dstPath = "$(CONTENTS_FOLDER_PATH)/Watch";
71 + dstSubfolderSpec = 16;
72 + files = (
73 + 0CE2632DF6FB02163D55BB65 /* Klepon Watch.app in Embed Watch Content */,
74 + );
75 + name = "Embed Watch Content";
76 + runOnlyForDeploymentPostprocessing = 0;
77 + };
78 +/* End PBXCopyFilesBuildPhase section */
79 +
80 /* Begin PBXFileReference section */
81 054656155630B064F785B0D7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
82 0BC0C4C22A5134DB058E41F4 /* FavoritesStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoritesStore.swift; sourceTree = "<group>"; };
83 13418896CA28250CEEE7592E /* OnboardingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingView.swift; sourceTree = "<group>"; };
84 + 13B09D700AA047E07E91F6A2 /* Signing.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Signing.xcconfig; sourceTree = "<group>"; };
85 1FDDB0F88FF430ABD679AD89 /* collections.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = collections.json; sourceTree = "<group>"; };
86 217E7D4050D471955FF3AB13 /* WatchBrandSystem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchBrandSystem.swift; sourceTree = "<group>"; };
87 248F359109A08A60F792C42D /* guide_entries.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = guide_entries.json; sourceTree = "<group>"; };
@@ -66,7 +92,7 @@
92 4C77AF5EB4B17D087FA522F6 /* WatchContentLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchContentLoader.swift; sourceTree = "<group>"; };
93 52DD909BB2EF68103CB46EDA /* KleponActionButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KleponActionButton.swift; sourceTree = "<group>"; };
94 5AF291E9C2E66209377138E6 /* AppState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppState.swift; sourceTree = "<group>"; };
69 - 5DE91827A635C0B0B72690EC /* Klepon.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Klepon.app; sourceTree = BUILT_PRODUCTS_DIR; };
95 + 5DE91827A635C0B0B72690EC /* Klepon.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = Klepon.app; sourceTree = BUILT_PRODUCTS_DIR; };
96 6235AD6792F25476E2A508F0 /* SearchService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchService.swift; sourceTree = "<group>"; };
97 643D52BCEDF66CC8FE8A1234 /* RecentSearchStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecentSearchStore.swift; sourceTree = "<group>"; };
98 67FAA69C42F1845ECB79AC16 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
@@ -109,6 +135,14 @@
135 /* End PBXFrameworksBuildPhase section */
136
137 /* Begin PBXGroup section */
138 + 038E8FA398B5CB76373031FD /* Configs */ = {
139 + isa = PBXGroup;
140 + children = (
141 + 13B09D700AA047E07E91F6A2 /* Signing.xcconfig */,
142 + );
143 + path = Configs;
144 + sourceTree = "<group>";
145 + };
146 1F8B5D6327376068DBCA9694 /* Settings */ = {
147 isa = PBXGroup;
148 children = (
@@ -279,6 +313,7 @@
313 D9EBF621A6F1A1729FE26516 = {
314 isa = PBXGroup;
315 children = (
316 + 038E8FA398B5CB76373031FD /* Configs */,
317 EA4DFA44FE8BB01979ADB187 /* Klepon */,
318 472BF5D47BEE4AF1EC80B645 /* KleponWatch */,
319 3F9369D339C14126AB44D720 /* Products */,
@@ -311,11 +346,13 @@
346 142193A63A26ACC180E1EB37 /* Sources */,
347 BC5A6BBAFB4A1B61000065D1 /* Resources */,
348 F72797E506E8FA89264A5C68 /* Frameworks */,
349 + F3457485B5B2DC81D4FAA704 /* Embed Watch Content */,
350 005255530CCC905544DBE9A8 /* Update CFBundleVersion */,
351 );
352 buildRules = (
353 );
354 dependencies = (
355 + 6D8B1489B7EFEE9D18830BD6 /* PBXTargetDependency */,
356 );
357 name = Klepon;
358 packageProductDependencies = (
@@ -352,6 +389,14 @@
389 attributes = {
390 BuildIndependentTargetsInParallel = YES;
391 LastUpgradeCheck = 2600;
392 + TargetAttributes = {
393 + 2ADB11F6C1D51B9F9A9DB15F = {
394 + ProvisioningStyle = Automatic;
395 + };
396 + E8CEBF52617721AEE450A7CF = {
397 + ProvisioningStyle = Automatic;
398 + };
399 + };
400 };
401 buildConfigurationList = 8911E6C6F25C3A4F99870749 /* Build configuration list for PBXProject "Klepon" */;
402 developmentRegion = en;
@@ -417,7 +462,7 @@
462 );
463 runOnlyForDeploymentPostprocessing = 0;
464 shellPath = /bin/sh;
420 - shellScript = "set -eu\n\nBUNDLE_VERSION=\"$(date -u +\"%Y%m%d.%H%M\")\"\nINFO_PLIST=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n\nif [ ! -f \"${INFO_PLIST}\" ]; then\n echo \"error: Info.plist not found at ${INFO_PLIST}\"\n exit 1\nfi\n\nif ! /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${BUNDLE_VERSION}\" \"${INFO_PLIST}\" >/dev/null 2>&1; then\n /usr/libexec/PlistBuddy -c \"Add :CFBundleVersion string ${BUNDLE_VERSION}\" \"${INFO_PLIST}\"\nfi\n\necho \"Updated CFBundleVersion to ${BUNDLE_VERSION}\"\n";
465 + shellScript = "set -eu\n\nSHARED_BUNDLE_VERSION_FILE=\"${BUILD_DIR}/klepon-cfbundleversion.txt\"\nif [ -f \"${SHARED_BUNDLE_VERSION_FILE}\" ]; then\n BUNDLE_VERSION=\"$(cat \"${SHARED_BUNDLE_VERSION_FILE}\")\"\nelse\n BUNDLE_VERSION=\"$(date -u +\"%Y%m%d.%H%M\")\"\n printf '%s' \"${BUNDLE_VERSION}\" > \"${SHARED_BUNDLE_VERSION_FILE}\"\nfi\n\nINFO_PLIST=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n\nif [ ! -f \"${INFO_PLIST}\" ]; then\n echo \"error: Info.plist not found at ${INFO_PLIST}\"\n exit 1\nfi\n\nif ! /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${BUNDLE_VERSION}\" \"${INFO_PLIST}\" >/dev/null 2>&1; then\n /usr/libexec/PlistBuddy -c \"Add :CFBundleVersion string ${BUNDLE_VERSION}\" \"${INFO_PLIST}\"\nfi\n\necho \"Updated CFBundleVersion to ${BUNDLE_VERSION}\"\n";
466 showEnvVarsInLog = 0;
467 };
468 4CD2E0A71BF112F74656BFFD /* Update CFBundleVersion */ = {
@@ -437,7 +482,7 @@
482 );
483 runOnlyForDeploymentPostprocessing = 0;
484 shellPath = /bin/sh;
440 - shellScript = "set -eu\n\nBUNDLE_VERSION=\"$(date -u +\"%Y%m%d.%H%M\")\"\nINFO_PLIST=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n\nif [ ! -f \"${INFO_PLIST}\" ]; then\n echo \"error: Info.plist not found at ${INFO_PLIST}\"\n exit 1\nfi\n\nif ! /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${BUNDLE_VERSION}\" \"${INFO_PLIST}\" >/dev/null 2>&1; then\n /usr/libexec/PlistBuddy -c \"Add :CFBundleVersion string ${BUNDLE_VERSION}\" \"${INFO_PLIST}\"\nfi\n\necho \"Updated CFBundleVersion to ${BUNDLE_VERSION}\"\n";
485 + shellScript = "set -eu\n\nSHARED_BUNDLE_VERSION_FILE=\"${BUILD_DIR}/klepon-cfbundleversion.txt\"\nif [ -f \"${SHARED_BUNDLE_VERSION_FILE}\" ]; then\n BUNDLE_VERSION=\"$(cat \"${SHARED_BUNDLE_VERSION_FILE}\")\"\nelse\n BUNDLE_VERSION=\"$(date -u +\"%Y%m%d.%H%M\")\"\n printf '%s' \"${BUNDLE_VERSION}\" > \"${SHARED_BUNDLE_VERSION_FILE}\"\nfi\n\nINFO_PLIST=\"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}\"\n\nif [ ! -f \"${INFO_PLIST}\" ]; then\n echo \"error: Info.plist not found at ${INFO_PLIST}\"\n exit 1\nfi\n\nif ! /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${BUNDLE_VERSION}\" \"${INFO_PLIST}\" >/dev/null 2>&1; then\n /usr/libexec/PlistBuddy -c \"Add :CFBundleVersion string ${BUNDLE_VERSION}\" \"${INFO_PLIST}\"\nfi\n\necho \"Updated CFBundleVersion to ${BUNDLE_VERSION}\"\n";
486 showEnvVarsInLog = 0;
487 };
488 /* End PBXShellScriptBuildPhase section */
@@ -495,15 +540,24 @@
540 };
541 /* End PBXSourcesBuildPhase section */
542
543 +/* Begin PBXTargetDependency section */
544 + 6D8B1489B7EFEE9D18830BD6 /* PBXTargetDependency */ = {
545 + isa = PBXTargetDependency;
546 + target = E8CEBF52617721AEE450A7CF /* Klepon Watch */;
547 + targetProxy = D55C73775065842DC4A51797 /* PBXContainerItemProxy */;
548 + };
549 +/* End PBXTargetDependency section */
550 +
551 /* Begin XCBuildConfiguration section */
552 57B34C7365523CA3F80ED770 /* Debug */ = {
553 isa = XCBuildConfiguration;
554 + baseConfigurationReference = 13B09D700AA047E07E91F6A2 /* Signing.xcconfig */;
555 buildSettings = {
556 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
557 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
558 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
559 CURRENT_PROJECT_VERSION = 1;
506 - ENABLE_USER_SCRIPT_SANDBOXING = YES;
560 + ENABLE_USER_SCRIPT_SANDBOXING = NO;
561 "EXCLUDED_ARCHS[sdk=watchsimulator*]" = x86_64;
562 GENERATE_INFOPLIST_FILE = NO;
563 INFOPLIST_FILE = KleponWatch/Info.plist;
@@ -579,18 +633,20 @@
633 };
634 97B8585F2E74C6C870509FE9 /* Release */ = {
635 isa = XCBuildConfiguration;
636 + baseConfigurationReference = 13B09D700AA047E07E91F6A2 /* Signing.xcconfig */;
637 buildSettings = {
638 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
639 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
640 CODE_SIGN_ENTITLEMENTS = Klepon/Klepon.entitlements;
641 CODE_SIGN_IDENTITY = "iPhone Developer";
642 CURRENT_PROJECT_VERSION = 1;
588 - DEVELOPMENT_TEAM = 2TQF86ZACD;
589 - ENABLE_USER_SCRIPT_SANDBOXING = YES;
643 + ENABLE_USER_SCRIPT_SANDBOXING = NO;
644 "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = x86_64;
645 GENERATE_INFOPLIST_FILE = YES;
646 INFOPLIST_KEY_UILaunchScreen_Generation = YES;
593 - INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
647 + INFOPLIST_KEY_UISupportedInterfaceOrientations = (
648 + UIInterfaceOrientationPortrait,
649 + );
650 INFOPLIST_KEY_UIUserInterfaceStyle = Light;
651 LD_RUNPATH_SEARCH_PATHS = (
652 "$(inherited)",
@@ -606,13 +662,13 @@
662 };
663 A3B469B57456DA7C46537A7E /* Release */ = {
664 isa = XCBuildConfiguration;
665 + baseConfigurationReference = 13B09D700AA047E07E91F6A2 /* Signing.xcconfig */;
666 buildSettings = {
667 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
668 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
669 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
670 CURRENT_PROJECT_VERSION = 1;
614 - DEVELOPMENT_TEAM = 2TQF86ZACD;
615 - ENABLE_USER_SCRIPT_SANDBOXING = YES;
671 + ENABLE_USER_SCRIPT_SANDBOXING = NO;
672 "EXCLUDED_ARCHS[sdk=watchsimulator*]" = x86_64;
673 GENERATE_INFOPLIST_FILE = NO;
674 INFOPLIST_FILE = KleponWatch/Info.plist;
@@ -695,17 +751,20 @@
751 };
752 D2D1439E7A622A6F8019887F /* Debug */ = {
753 isa = XCBuildConfiguration;
754 + baseConfigurationReference = 13B09D700AA047E07E91F6A2 /* Signing.xcconfig */;
755 buildSettings = {
756 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
757 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
758 CODE_SIGN_ENTITLEMENTS = Klepon/Klepon.entitlements;
759 CODE_SIGN_IDENTITY = "iPhone Developer";
760 CURRENT_PROJECT_VERSION = 1;
704 - ENABLE_USER_SCRIPT_SANDBOXING = YES;
761 + ENABLE_USER_SCRIPT_SANDBOXING = NO;
762 "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = x86_64;
763 GENERATE_INFOPLIST_FILE = YES;
764 INFOPLIST_KEY_UILaunchScreen_Generation = YES;
708 - INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
765 + INFOPLIST_KEY_UISupportedInterfaceOrientations = (
766 + UIInterfaceOrientationPortrait,
767 + );
768 INFOPLIST_KEY_UIUserInterfaceStyle = Light;
769 LD_RUNPATH_SEARCH_PATHS = (
770 "$(inherited)",
Klepon/Klepon.entitlements
+3 -4
@@ -1,10 +1,9 @@
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">
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">
3 <plist version="1.0">
4 <dict>
5 <key>com.apple.developer.kernel.increased-memory-limit</key>
7 - <true />
6 + <true/>
7 <key>com.apple.security.application-groups</key>
8 <array>
9 <string>group.com.ondeinference.apps</string>
project.yml
+29 -4
@@ -46,9 +46,17 @@ targets:
46 - path: Klepon
47 entitlements:
48 path: Klepon/Klepon.entitlements
49 + properties:
50 + com.apple.developer.kernel.increased-memory-limit: true
51 + com.apple.security.application-groups:
52 + - group.com.ondeinference.apps
53 + configFiles:
54 + Debug: Configs/Signing.xcconfig
55 + Release: Configs/Signing.xcconfig
56 dependencies:
57 - package: Onde
58 product: Onde
59 + - target: Klepon Watch
60 postBuildScripts:
61 - name: Update CFBundleVersion
62 shell: /bin/sh
@@ -57,7 +65,14 @@ targets:
65 script: |
66 set -eu
67
60 - BUNDLE_VERSION="$(date -u +"%Y%m%d.%H%M")"
68 + SHARED_BUNDLE_VERSION_FILE="${BUILD_DIR}/klepon-cfbundleversion.txt"
69 + if [ -f "${SHARED_BUNDLE_VERSION_FILE}" ]; then
70 + BUNDLE_VERSION="$(cat "${SHARED_BUNDLE_VERSION_FILE}")"
71 + else
72 + BUNDLE_VERSION="$(date -u +"%Y%m%d.%H%M")"
73 + printf '%s' "${BUNDLE_VERSION}" > "${SHARED_BUNDLE_VERSION_FILE}"
74 + fi
75 +
76 INFO_PLIST="${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
77
78 if [ ! -f "${INFO_PLIST}" ]; then
@@ -82,7 +97,7 @@ targets:
97 INFOPLIST_KEY_UIUserInterfaceStyle: Light
98 INFOPLIST_KEY_UISupportedInterfaceOrientations:
99 - UIInterfaceOrientationPortrait
85 - ENABLE_USER_SCRIPT_SANDBOXING: YES
100 + ENABLE_USER_SCRIPT_SANDBOXING: NO
101 TARGETED_DEVICE_FAMILY: 1
102 "EXCLUDED_ARCHS[sdk=iphonesimulator*]": x86_64
103 configs:
@@ -101,6 +116,9 @@ targets:
116 - path: Klepon/DesignSystem/KleponColor.swift
117 - path: Klepon/Resources/Content
118 buildPhase: resources
119 + configFiles:
120 + Debug: Configs/Signing.xcconfig
121 + Release: Configs/Signing.xcconfig
122 postBuildScripts:
123 - name: Update CFBundleVersion
124 shell: /bin/sh
@@ -109,7 +127,14 @@ targets:
127 script: |
128 set -eu
129
112 - BUNDLE_VERSION="$(date -u +"%Y%m%d.%H%M")"
130 + SHARED_BUNDLE_VERSION_FILE="${BUILD_DIR}/klepon-cfbundleversion.txt"
131 + if [ -f "${SHARED_BUNDLE_VERSION_FILE}" ]; then
132 + BUNDLE_VERSION="$(cat "${SHARED_BUNDLE_VERSION_FILE}")"
133 + else
134 + BUNDLE_VERSION="$(date -u +"%Y%m%d.%H%M")"
135 + printf '%s' "${BUNDLE_VERSION}" > "${SHARED_BUNDLE_VERSION_FILE}"
136 + fi
137 +
138 INFO_PLIST="${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
139
140 if [ ! -f "${INFO_PLIST}" ]; then
@@ -132,7 +157,7 @@ targets:
157 INFOPLIST_FILE: KleponWatch/Info.plist
158 ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
159 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
135 - ENABLE_USER_SCRIPT_SANDBOXING: YES
160 + ENABLE_USER_SCRIPT_SANDBOXING: NO
161 SDKROOT: watchos
162 TARGETED_DEVICE_FAMILY: 4
163 SKIP_INSTALL: YES