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