Conversation
📝 Walkthrough개요이 변경 사항은 iOS 앱의 빌드 구성과 커뮤니티 기능의 HTML 본문 뷰 렌더링을 개선합니다. Config.xcconfig에서 예상 코드 리뷰 노력🎯 3 (Moderate) | ⏱️ ~30 분 관련 가능성 있는 이슈
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@iosApp/Configuration/Config.xcconfig`:
- Line 4: The Debug build setting currently hardcodes a different bundle ID
which overrides Config.xcconfig; remove or update the hardcoded
"PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant" entry in the Debug
configuration so it no longer overrides the xcconfig, or change it to match the
xcconfig value "PRODUCT_BUNDLE_IDENTIFIER=kustaurant.Kustaurant" so Debug and
Release use the same App ID; locate the Debug build setting named
PRODUCT_BUNDLE_IDENTIFIER in the project.pbxproj and either delete that key for
Debug (to inherit Config.xcconfig) or set it to the same identifier as
Config.xcconfig.
- Line 4: The Release build is referencing DEVELOPMENT_TEAM = "${TEAM_ID}" in
project.pbxproj while Config.xcconfig does not define TEAM_ID (and
Secrets.xcconfig is missing), causing signing failures; update Config.xcconfig
to add a default TEAM_ID entry (e.g., TEAM_ID = 74MNVWDFHB) or otherwise define
TEAM_ID there so the variable resolves during Release archive, ensuring the
DEVELOPMENT_TEAM reference in project.pbxproj resolves on CI and new machines.
In
`@shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt`:
- Around line 5-6: Remove the debug green border and redundant top padding from
the Android body UI: in HtmlBodyView
(shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt)
find the Modifier chain that applies .border(1.dp, KusTheme.colors.c_43AB38) and
the .padding(top = 0.dp) call and delete them so the composable no longer always
shows the green border and no-op padding; keep any necessary padding values for
layout but remove the specific top=0.dp and the debug color border references.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 97633456-3baa-464b-8367-8f36c24d4d9f
📒 Files selected for processing (5)
iosApp/Configuration/Config.xcconfigiosApp/iosApp/Info.plistshared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.ktshared/feature/community/src/commonMain/kotlin/com/kus/feature/community/ui/detail/CommunityDetailSuccessContent.ktshared/feature/community/src/iosMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.ios.kt
💤 Files with no reviewable changes (1)
- iosApp/iosApp/Info.plist
|
|
||
| PRODUCT_NAME=Kustaurant | ||
| PRODUCT_BUNDLE_IDENTIFIER=com.kus.kustaurant.Kustaurant$(TEAM_ID) | ||
| PRODUCT_BUNDLE_IDENTIFIER=kustaurant.Kustaurant |
There was a problem hiding this comment.
디버그 설정에서 번들 식별자가 덮어써져 설정이 일관되지 않습니다.
Line 4에서 PRODUCT_BUNDLE_IDENTIFIER를 변경했지만, iosApp/iosApp.xcodeproj/project.pbxproj의 Debug 설정(Line 491)에 PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant;가 하드코딩되어 있어 xcconfig 값이 적용되지 않습니다. 현재 상태면 Debug/Release 간 App ID가 달라질 수 있습니다.
수정 예시 (Debug 하드코딩 제거 또는 동일 값으로 통일)
- PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant;
+ PRODUCT_BUNDLE_IDENTIFIER = kustaurant.Kustaurant;또는 Debug에서 해당 키를 제거해 Config.xcconfig 값을 상속하도록 정리하는 방식도 가능합니다.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@iosApp/Configuration/Config.xcconfig` at line 4, The Debug build setting
currently hardcodes a different bundle ID which overrides Config.xcconfig;
remove or update the hardcoded "PRODUCT_BUNDLE_IDENTIFIER = com.kust.kustaurant"
entry in the Debug configuration so it no longer overrides the xcconfig, or
change it to match the xcconfig value
"PRODUCT_BUNDLE_IDENTIFIER=kustaurant.Kustaurant" so Debug and Release use the
same App ID; locate the Debug build setting named PRODUCT_BUNDLE_IDENTIFIER in
the project.pbxproj and either delete that key for Debug (to inherit
Config.xcconfig) or set it to the same identifier as Config.xcconfig.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== TEAM_ID 정의 위치 확인 =="
rg -n -C2 '^\s*TEAM_ID\s*=' --glob '*.xcconfig'
echo
echo "== DEVELOPMENT_TEAM/TEAM_ID 참조 확인 (pbxproj) =="
rg -n -C2 'DEVELOPMENT_TEAM|PRODUCT_BUNDLE_IDENTIFIER|\$\{TEAM_ID\}' iosApp/iosApp.xcodeproj/project.pbxproj
echo
echo "== Config.xcconfig/Secrets include 확인 =="
rg -n -C2 '#include|PRODUCT_BUNDLE_IDENTIFIER|TEAM_ID' iosApp/Configuration/Config.xcconfigRepository: kustaurant/Android-CMP
Length of output: 88
🏁 Script executed:
#!/bin/bash
echo "=== 파일 존재 확인 ==="
ls -la iosApp/Configuration/ 2>/dev/null || echo "Configuration 디렉토리 찾을 수 없음"
echo
echo "=== Config.xcconfig 내용 ==="
if [ -f iosApp/Configuration/Config.xcconfig ]; then
cat -n iosApp/Configuration/Config.xcconfig
else
echo "파일을 찾을 수 없음"
fi
echo
echo "=== Secrets.xcconfig 존재 확인 ==="
if [ -f iosApp/Configuration/Secrets.xcconfig ]; then
echo "존재함"
cat -n iosApp/Configuration/Secrets.xcconfig
else
echo "Secrets.xcconfig 파일 없음"
fi
echo
echo "=== 모든 xcconfig 파일 검색 ==="
find . -name "*.xcconfig" 2>/dev/null
echo
echo "=== project.pbxproj에서 DEVELOPMENT_TEAM, TEAM_ID 검색 ==="
if [ -f iosApp/iosApp.xcodeproj/project.pbxproj ]; then
grep -n "DEVELOPMENT_TEAM\|TEAM_ID" iosApp/iosApp.xcodeproj/project.pbxproj | head -20
else
echo "project.pbxproj를 찾을 수 없음"
fiRepository: kustaurant/Android-CMP
Length of output: 780
🏁 Script executed:
#!/bin/bash
echo "=== project.pbxproj Line 440-480 범위 확인 ==="
sed -n '440,480p' iosApp/iosApp.xcodeproj/project.pbxproj
echo
echo "=== DEVELOPMENT_TEAM 모든 참조 확인 (전체 라인) ==="
grep -n "DEVELOPMENT_TEAM" iosApp/iosApp.xcodeproj/project.pbxproj
echo
echo "=== Build Settings에서 TEAM_ID 관련 설정 확인 ==="
grep -B5 -A5 'DEVELOPMENT_TEAM.*=' iosApp/iosApp.xcodeproj/project.pbxproj | head -50Repository: kustaurant/Android-CMP
Length of output: 3165
Release 빌드에서 TEAM_ID 정의 누락으로 인한 서명 실패 위험
project.pbxproj의 Release 설정(라인 447)에서 DEVELOPMENT_TEAM = "${TEAM_ID}";로 변수를 참조하고 있으나, TEAM_ID가 정의되어 있지 않습니다.
Config.xcconfig는Secrets.xcconfig포함을 시도하지만 해당 파일이 존재하지 않음Config.xcconfig에도TEAM_ID정의 없음- Debug 설정(라인 477)은
74MNVWDFHB로 하드코딩되어 있음
결과적으로 Secrets.xcconfig가 없는 CI 환경이나 신규 로컬에서는 Release 아카이브 서명이 실패합니다. Config.xcconfig에 기본 TEAM_ID 값을 정의하거나, Release 설정을 Debug처럼 하드코딩 값으로 수정해야 합니다.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@iosApp/Configuration/Config.xcconfig` at line 4, The Release build is
referencing DEVELOPMENT_TEAM = "${TEAM_ID}" in project.pbxproj while
Config.xcconfig does not define TEAM_ID (and Secrets.xcconfig is missing),
causing signing failures; update Config.xcconfig to add a default TEAM_ID entry
(e.g., TEAM_ID = 74MNVWDFHB) or otherwise define TEAM_ID there so the variable
resolves during Release archive, ensuring the DEVELOPMENT_TEAM reference in
project.pbxproj resolves on CI and new machines.
| import androidx.compose.foundation.border | ||
| import androidx.compose.foundation.layout.padding |
There was a problem hiding this comment.
디버그성 UI 장식(녹색 테두리)이 Android 본문 UI를 회귀시킬 수 있습니다.
Line 44의 .border(1.dp, KusTheme.colors.c_43AB38)는 본문 영역에 항상 테두리를 노출시켜 의도치 않은 UI 변경을 만듭니다. Line 43의 padding(top = 0.dp)도 동작상 의미가 없어 함께 정리하는 편이 안전합니다.
🔧 제안 수정
-import androidx.compose.foundation.border
-import androidx.compose.foundation.layout.padding
+
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
-import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
-import com.kus.designsystem.theme.KusTheme
+
@@
AndroidView(
modifier = modifier
- .padding(top = 0.dp)
- .border(1.dp, KusTheme.colors.c_43AB38),
+ ,Also applies to: 10-12, 42-44
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt`
around lines 5 - 6, Remove the debug green border and redundant top padding from
the Android body UI: in HtmlBodyView
(shared/feature/community/src/androidMain/kotlin/com/kus/feature/community/ui/detail/HtmlBodyView.android.kt)
find the Modifier chain that applies .border(1.dp, KusTheme.colors.c_43AB38) and
the .padding(top = 0.dp) call and delete them so the composable no longer always
shows the green border and no-op padding; keep any necessary padding values for
layout but remove the specific top=0.dp and the debug color border references.
개요
#47
PR 유형
해당하는 항목에 체크해주세요.
변경 사항
📸 화면 / 영상 (선택)
Before
After
Summary by CodeRabbit
릴리스 노트
버그 수정
스타일