From 0360319bde06a59ee104f441ec5267dc40cf87c6 Mon Sep 17 00:00:00 2001 From: Tsubasa SEKIGUCHI Date: Thu, 19 Feb 2026 22:43:05 +0900 Subject: [PATCH 1/3] =?UTF-8?q?PadArch=E3=81=AE=E7=94=BB=E9=9D=A2=E3=82=B5?= =?UTF-8?q?=E3=82=A4=E3=82=BA=E5=8F=96=E5=BE=97=E3=82=92Dimensions.get?= =?UTF-8?q?=E3=81=8B=E3=82=89useWindowDimensions=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=20(#5348)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * PadArchの画面サイズ取得をDimensions.getからuseWindowDimensionsに変更 Co-Authored-By: Claude Opus 4.6 * PadArchのTransfersコンポーネントで重複していたスタイル三項演算子を整理 Co-Authored-By: Claude Opus 4.6 * PadArchのSVGパス文字列をuseMemoでメモ化し重複を統合 Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: Claude Opus 4.6 --- src/components/PadArch.tsx | 280 ++++++++++++++++++++++--------------- 1 file changed, 165 insertions(+), 115 deletions(-) diff --git a/src/components/PadArch.tsx b/src/components/PadArch.tsx index 59a08f400..a2cd58201 100644 --- a/src/components/PadArch.tsx +++ b/src/components/PadArch.tsx @@ -1,6 +1,6 @@ import { darken } from 'polished'; import React, { useCallback, useEffect, useMemo } from 'react'; -import { Dimensions, StyleSheet, View } from 'react-native'; +import { StyleSheet, useWindowDimensions, View } from 'react-native'; import Animated, { cancelAnimation, useAnimatedStyle, @@ -29,8 +29,6 @@ import TransferLineDot from './TransferLineDot'; import TransferLineMark from './TransferLineMark'; import Typography from './Typography'; -const { width: screenWidth, height: screenHeight } = Dimensions.get('screen'); - type NumberingInfo = { stationNumber: string; lineMarkShape: LineMark; @@ -138,14 +136,12 @@ const styles = StyleSheet.create({ }, stationNameContainer: { position: 'absolute', - width: screenWidth / 4, flexDirection: 'row', alignItems: 'center', }, stationName: { fontSize: 32, fontWeight: 'bold', - width: screenWidth / 4, }, circle: { position: 'absolute', @@ -169,14 +165,11 @@ const styles = StyleSheet.create({ overflow: 'hidden', position: 'absolute', bottom: 0, - width: screenWidth, }, chevron: { position: 'absolute', width: 60, height: 45, - right: screenWidth / 3.15, - top: (4 * screenHeight) / 7 + 84, // 非到着時のベース角度 transform: [{ rotate: '-20deg' }], zIndex: 1, @@ -184,20 +177,11 @@ const styles = StyleSheet.create({ chevronArrived: { width: 72, height: 54, - top: (4 * screenHeight) / 7, - right: screenWidth / 2.985, transform: [{ rotate: '-110deg' }, { scale: 1.5 }], zIndex: 0, }, - transfers: { - width: screenWidth / 2, + transfersBase: { position: 'absolute', - top: screenHeight / 4, - left: 24, - }, - transfersMany: { - position: 'absolute', - top: screenHeight / 6, left: 24, }, transfersCurrentStationName: { @@ -220,7 +204,6 @@ const styles = StyleSheet.create({ color: '#555', }, transferLines: { - width: screenWidth / 3, flexDirection: 'row', flexWrap: 'wrap', }, @@ -261,6 +244,8 @@ type TransfersProps = { lineMarks: (LineMark | null)[]; station: Station | null; isEn: boolean; + windowWidth: number; + windowHeight: number; }; const Transfers: React.FC = ({ @@ -268,9 +253,27 @@ const Transfers: React.FC = ({ station, lineMarks, isEn, + windowWidth, + windowHeight, }: TransfersProps) => { const isBus = isBusLine(station?.line); + const dynamicStyles = useMemo( + () => ({ + transfers: { + width: windowWidth / 2, + top: windowHeight / 4, + }, + transfersMany: { + top: windowHeight / 6, + }, + transferLines: { width: windowWidth / 3 }, + }), + [windowWidth, windowHeight] + ); + + const isMany = transferLines?.length > MANY_LINES_THRESHOLD; + const renderTransferLines = useCallback( (): React.ReactNode[] => transferLines.map((l, i) => { @@ -306,31 +309,33 @@ const Transfers: React.FC = ({ <> {isEn ? ( MANY_LINES_THRESHOLD - ? styles.transfersMany - : styles.transfers - } + style={[ + styles.transfersBase, + isMany ? dynamicStyles.transfersMany : dynamicStyles.transfers, + ]} > Transfer at {`${station?.nameRoman}${isBus ? '' : ' Station'}`} - {renderTransferLines()} + + {renderTransferLines()} + ) : ( MANY_LINES_THRESHOLD - ? styles.transfersMany - : styles.transfers - } + style={[ + styles.transfersBase, + isMany ? dynamicStyles.transfersMany : dynamicStyles.transfers, + ]} > {`${station?.name ?? ''}${isBus ? '' : '駅'}`} 乗換えのご案内 - {renderTransferLines()} + + {renderTransferLines()} + )} @@ -348,6 +353,8 @@ const PadArch: React.FC = ({ trainTypeLines, isEn, }: Props) => { + const { width: windowWidth, height: windowHeight } = useWindowDimensions(); + // 共有値(Reanimated) const bgScale = useSharedValue(0.95); // シェブロンのアニメーションは 0..1 の単一タイムラインで駆動 @@ -389,10 +396,10 @@ const PadArch: React.FC = ({ // biome-ignore lint/correctness/useExhaustiveDependencies: 到着状態の変化時のみ再実行 useEffect(() => { fillHeight.value = 0; - fillHeight.value = withTiming(Dimensions.get('window').height, { + fillHeight.value = withTiming(windowHeight, { duration: YAMANOTE_LINE_BOARD_FILL_DURATION, }); - }, [arrived, fillHeight]); + }, [arrived, fillHeight, windowHeight]); // アニメーション用スタイル const fillStyle = useAnimatedStyle(() => ({ height: fillHeight.value })); @@ -414,15 +421,17 @@ const PadArch: React.FC = ({ // AnimatedChevron不要。SharedValueを直接渡す - const pathD1 = `M -4 -60 A ${screenWidth / 1.5} ${screenHeight} 0 0 1 ${ - screenWidth / 1.5 - 4 - } ${screenHeight}`; - const pathD2 = `M 0 -64 A ${screenWidth / 1.5} ${screenHeight} 0 0 1 ${ - screenWidth / 1.5 - } ${screenHeight}`; - const pathD3 = `M 0 -64 A ${screenWidth / 1.5} ${screenHeight} 0 0 1 ${ - screenWidth / 1.5 - } ${screenHeight}`; + const paths = useMemo( + () => ({ + shadow: `M -4 -60 A ${windowWidth / 1.5} ${windowHeight} 0 0 1 ${ + windowWidth / 1.5 - 4 + } ${windowHeight}`, + main: `M 0 -64 A ${windowWidth / 1.5} ${windowHeight} 0 0 1 ${ + windowWidth / 1.5 + } ${windowHeight}`, + }), + [windowWidth, windowHeight] + ); const hexLineColor = line.color ?? '#000'; const strokeWidth = 128; @@ -432,62 +441,88 @@ const PadArch: React.FC = ({ stations, trainTypeLines, hexLineColor, - screenHeight + windowHeight ), - [stations, trainTypeLines, hexLineColor] + [stations, trainTypeLines, hexLineColor, windowHeight] ); - const getDotLeft = useCallback((i: number): number => { - const leftPad = 0; - switch (i) { - case 0: - return screenWidth / 3 + leftPad; - case 1: - return screenWidth / 2.35 + leftPad; - case 2: - return screenWidth / 1.975 + leftPad; - case 3: - return screenWidth / 1.785 + leftPad; - case 4: - return screenWidth / 1.655 - 3.5; - default: - return 0; - } - }, []); - - const getStationNameLeft = useCallback((i: number): number => { - switch (i) { - case 0: - return screenWidth / 2.2; - case 1: - return screenWidth / 1.925; - case 2: - return screenWidth / 1.7; - case 3: - return screenWidth / 1.55; - case 4: - return screenWidth / 1.47; - default: - return 0; - } - }, []); - - const getStationNameTop = useCallback((i: number): number => { - switch (i) { - case 0: - return -8; - case 1: - return screenHeight / 11.5; - case 2: - return screenHeight / 4.5; - case 3: - return screenHeight / 2.75; - case 4: - return screenHeight / 1.9; - default: - return 0; - } - }, []); + const dynamicStyles = useMemo( + () => ({ + stationNameContainer: { width: windowWidth / 4 }, + stationName: { width: windowWidth / 4 }, + clipViewStyle: { width: windowWidth }, + chevron: { + right: windowWidth / 3.15, + top: (4 * windowHeight) / 7 + 84, + }, + chevronArrived: { + top: (4 * windowHeight) / 7, + right: windowWidth / 2.985, + }, + }), + [windowWidth, windowHeight] + ); + + const getDotLeft = useCallback( + (i: number): number => { + const leftPad = 0; + switch (i) { + case 0: + return windowWidth / 3 + leftPad; + case 1: + return windowWidth / 2.35 + leftPad; + case 2: + return windowWidth / 1.975 + leftPad; + case 3: + return windowWidth / 1.785 + leftPad; + case 4: + return windowWidth / 1.655 - 3.5; + default: + return 0; + } + }, + [windowWidth] + ); + + const getStationNameLeft = useCallback( + (i: number): number => { + switch (i) { + case 0: + return windowWidth / 2.2; + case 1: + return windowWidth / 1.925; + case 2: + return windowWidth / 1.7; + case 3: + return windowWidth / 1.55; + case 4: + return windowWidth / 1.47; + default: + return 0; + } + }, + [windowWidth] + ); + + const getStationNameTop = useCallback( + (i: number): number => { + switch (i) { + case 0: + return -8; + case 1: + return windowHeight / 11.5; + case 2: + return windowHeight / 4.5; + case 3: + return windowHeight / 2.75; + case 4: + return windowHeight / 1.9; + default: + return 0; + } + }, + [windowHeight] + ); const getCustomDotStyle = useCallback( ( @@ -502,11 +537,11 @@ const PadArch: React.FC = ({ : 'white'; return { left: getDotLeft(i), - top: !i ? screenHeight / 30 : (i * screenHeight) / 7, + top: !i ? windowHeight / 30 : (i * windowHeight) / 7, backgroundColor: dotColor, }; }, - [getDotLeft] + [getDotLeft, windowHeight] ); const getCustomStationNameStyle = useCallback( @@ -524,22 +559,26 @@ const PadArch: React.FC = ({ station={station} lineMarks={lineMarks} isEn={isEn} + windowWidth={windowWidth} + windowHeight={windowHeight} /> - - - + + + {/* 暗色層: 区間ごとにViewクリッピングで色分け */} - + {colorSegments.map((seg) => ( = ({ @@ -563,14 +602,16 @@ const PadArch: React.FC = ({ ))} {/* 主色層: 区間ごとにViewクリッピングで色分け */} - + {colorSegments.map((seg) => ( = ({ - + ))} @@ -592,7 +637,10 @@ const PadArch: React.FC = ({ @@ -614,6 +662,7 @@ const PadArch: React.FC = ({ @@ -644,6 +693,7 @@ const PadArch: React.FC = ({ From aa18fd407964e0fa264463634f2289b69d65654c Mon Sep 17 00:00:00 2001 From: Tsubasa SEKIGUCHI Date: Thu, 19 Feb 2026 22:52:36 +0900 Subject: [PATCH 2/3] =?UTF-8?q?PadArch=E3=81=AE=E3=82=B3=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88=E4=BF=AE=E6=AD=A3=E3=81=A8=E4=B8=8D=E8=A6=81=E3=81=AA?= =?UTF-8?q?=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7=E3=83=8A=E3=83=AB=E3=83=81?= =?UTF-8?q?=E3=82=A7=E3=83=BC=E3=83=B3=E3=82=92=E5=89=8A=E9=99=A4=20(#5349?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Claude Opus 4.6 --- src/components/PadArch.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/PadArch.tsx b/src/components/PadArch.tsx index a2cd58201..d3ce91d70 100644 --- a/src/components/PadArch.tsx +++ b/src/components/PadArch.tsx @@ -272,7 +272,7 @@ const Transfers: React.FC = ({ [windowWidth, windowHeight] ); - const isMany = transferLines?.length > MANY_LINES_THRESHOLD; + const isMany = transferLines.length > MANY_LINES_THRESHOLD; const renderTransferLines = useCallback( (): React.ReactNode[] => @@ -301,7 +301,7 @@ const Transfers: React.FC = ({ [isEn, lineMarks, transferLines] ); - if (!transferLines?.length) { + if (!transferLines.length) { return null; } @@ -392,8 +392,8 @@ const PadArch: React.FC = ({ } }, [arrived]); - // エフェクト: マウント時と到着/出発切替ごとに塗りつぶしアニメーション - // biome-ignore lint/correctness/useExhaustiveDependencies: 到着状態の変化時のみ再実行 + // エフェクト: マウント時と到着/出発切替またはウィンドウサイズ変更ごとに塗りつぶしアニメーション + // biome-ignore lint/correctness/useExhaustiveDependencies: SharedValue は安定した参照のため依存配列に含めません useEffect(() => { fillHeight.value = 0; fillHeight.value = withTiming(windowHeight, { From 71cd9577f66dba88afb7271ba5bdc86d14815389 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 22:52:49 +0900 Subject: [PATCH 3/3] Bump version for canary release (#5351) Co-authored-by: TinyKitten <32848922+TinyKitten@users.noreply.github.com> --- android/app/build.gradle | 4 +-- app.config.ts | 5 ++-- ios/TrainLCD.xcodeproj/project.pbxproj | 36 +++++++++++++------------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 5b22bcef5..39be6e2ec 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -142,12 +142,12 @@ android { dimension "environment" applicationId "me.tinykitten.trainlcd.dev" versionNameSuffix "-dev" - versionCode 100000252 + versionCode 100000253 versionName "10.1.0" } prod { dimension "environment" - versionCode 100000252 + versionCode 100000253 versionName "10.1.0" } } diff --git a/app.config.ts b/app.config.ts index a414afff3..bb9293d6b 100644 --- a/app.config.ts +++ b/app.config.ts @@ -43,7 +43,7 @@ export default ({ config }: ConfigContext) => ({ }, }, ios: { - buildNumber: '2465', + buildNumber: '2466', bundleIdentifier: process.env.EAS_BUILD_PROFILE === 'production' ? 'me.tinykitten.trainlcd' @@ -60,7 +60,7 @@ export default ({ config }: ConfigContext) => ({ ? 'me.tinykitten.trainlcd' : 'me.tinykitten.trainlcd.dev', permissions: [], - versionCode: 100000252, + versionCode: 100000253, }, owner: 'trainlcd', }); @@ -83,3 +83,4 @@ export default ({ config }: ConfigContext) => ({ + diff --git a/ios/TrainLCD.xcodeproj/project.pbxproj b/ios/TrainLCD.xcodeproj/project.pbxproj index d3714cb2e..0f8bc73b3 100644 --- a/ios/TrainLCD.xcodeproj/project.pbxproj +++ b/ios/TrainLCD.xcodeproj/project.pbxproj @@ -2435,7 +2435,7 @@ CODE_SIGN_ENTITLEMENTS = ProdTrainLCD.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = E6R2G33Z36; INFOPLIST_FILE = TrainLCD/Schemes/Prod/Info.plist; @@ -2474,7 +2474,7 @@ CODE_SIGN_ENTITLEMENTS = ProdTrainLCD.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEVELOPMENT_TEAM = E6R2G33Z36; INFOPLIST_FILE = TrainLCD/Schemes/Prod/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = TrainLCD; @@ -2533,7 +2533,7 @@ CODE_SIGN_ENTITLEMENTS = TrainLCD/trainlcd.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; CXX = ""; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -2639,7 +2639,7 @@ CODE_SIGN_ENTITLEMENTS = TrainLCD/trainlcd.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; CXX = ""; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -2718,7 +2718,7 @@ CODE_SIGN_ENTITLEMENTS = CanaryTrainLCD.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = E6R2G33Z36; INFOPLIST_FILE = TrainLCD/Schemes/Dev/Info.plist; @@ -2757,7 +2757,7 @@ CODE_SIGN_ENTITLEMENTS = CanaryTrainLCD.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = E6R2G33Z36; INFOPLIST_FILE = TrainLCD/Schemes/Dev/Info.plist; @@ -2968,7 +2968,7 @@ CODE_SIGN_ENTITLEMENTS = RideSessionActivity/CanaryRideSessionActivity.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = E6R2G33Z36; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -3019,7 +3019,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = E6R2G33Z36; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -3070,7 +3070,7 @@ CODE_SIGN_ENTITLEMENTS = WatchWidget/ProdWatchWidget.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = YES; @@ -3128,7 +3128,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = YES; @@ -3179,7 +3179,7 @@ CODE_SIGN_ENTITLEMENTS = WatchWidget/CanaryWatchWidget.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = YES; @@ -3236,7 +3236,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = YES; @@ -3284,7 +3284,7 @@ CODE_SIGN_ENTITLEMENTS = RideSessionActivity/ProdRideSessionActivity.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = E6R2G33Z36; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -3335,7 +3335,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = E6R2G33Z36; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -3554,7 +3554,7 @@ CODE_SIGN_ENTITLEMENTS = ProdAppClip/ProdAppClip.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -3610,7 +3610,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -3660,7 +3660,7 @@ CODE_SIGN_ENTITLEMENTS = CanaryAppClip/CanaryAppClip.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -3718,7 +3718,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 2465; + CURRENT_PROJECT_VERSION = 2466; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = E6R2G33Z36; ENABLE_USER_SCRIPT_SANDBOXING = NO;