Reference: Common Issues & Debugging
이 문서는 Base의 Troubleshooting 가이드에 따라 앱의 문제를 진단하고 해결합니다.
lping.vercel.app/
├── .well-known/
│ └── farcaster.json # ✅ Required manifest file
├── app/
│ ├── layout.tsx # ✅ App entry point
│ └── ... # ✅ App files
Status: ✅ 모든 필수 파일 존재
- ✅ Domain is accessible via HTTPS (
https://lping.vercel.app) - ✅ Manifest file exists at
/.well-known/farcaster.json - ✅ All image URLs are publicly accessible
Test: https://lping.vercel.app/.well-known/farcaster.json
Status: ✅ 접근 가능, 올바른 JSON 형식
Checklist:
- ✅ 이미지 접근성 확인 (incognito 모드에서 테스트)
- ✅ 이미지 형식 확인 (PNG, JPG, WebP 지원)
- ✅ HTTPS URL만 사용
⚠️ 이미지 크기 확인 필요 (1024×1024px 아이콘 등)
Checklist:
- ✅
fc:frame메타데이터 존재 (app/layout.tsx) - ✅
fc:miniapp메타데이터 존재 - ✅ Embed Tool로 검증 가능
문제: Pull-to-refresh 기능이 Base App의 네이티브 제스처와 충돌 가능
해결:
MiniAppInitializer.tsx에disableNativeGestures: true옵션 추가- Swipe/drag 인터랙션 사용 시 필수 설정
// 변경 전
await sdk.actions.ready();
// 변경 후
await sdk.actions.ready({ disableNativeGestures: true });참고: Gesture Conflicts Documentation
Status: ✅ 올바르게 구현됨
- ✅ Wagmi의
useAccount훅 사용 - ✅ OnchainKit의
ConnectWallet컴포넌트 사용 - ✅ 사용자 연결 지갑 사용
구현 확인:
// app/lp/page.tsx
const { address: connectedAddress, isConnected } = useAccount();참고: Wallet Connection Documentation
Eruda Mobile Console Setup: 개발 환경에서 모바일 디버깅을 위해 Eruda 추가 가능
구현 방법:
// app/components/MobileDebugger.tsx (선택 사항)
"use client";
import { useEffect } from "react";
export function MobileDebugger() {
useEffect(() => {
// Only load Eruda in development and not on localhost
if (
typeof window !== "undefined" &&
process.env.NODE_ENV === "development" &&
!window.location.hostname.includes("localhost")
) {
import("eruda").then((eruda) => eruda.default.init());
}
}, []);
return null;
}사용 방법:
npm install eruda --save-devMobileDebugger컴포넌트를layout.tsx에 추가- 프로덕션에 배포하거나 ngrok으로 로컬 테스트
- 모바일 클라이언트에서 Farcaster DM으로 공유
- Eruda 콘솔로 디버깅
참고: Mobile Testing Documentation
- ✅ 앱 로드 확인
- ✅ 이미지 표시 확인
- ✅ 지갑 연결 확인
- ✅ Manifest 엔드포인트 접근 가능
- ✅ Embed 렌더링 확인
- ✅ Manifest 완성도 확인
- ✅
primaryCategory설정 확인 - ✅
accountAssociation설정 확인 ⚠️ 인덱싱 확인 (최대 10분 소요)⚠️ 앱 카탈로그에 표시 확인
- ✅ URL 공유 시 리치 embed 표시
- ✅
fc:frame메타데이터 확인 - ✅
fc:miniapp메타데이터 확인
문제: 변경 사항이 나타나지 않음
해결:
- Farcaster 클라이언트는 최대 24시간 manifest 데이터 캐싱
- 재공유하여 새로고침 트리거 (약 10분 소요)
문제: 검색 결과에 나타나지 않음
해결:
- Manifest에 모든 필수 필드 확인
primaryCategory필수accountAssociation필수- 앱 URL을 포스트로 공유하여 인덱싱 트리거
- 최대 10분 대기
문제: 이미지가 표시되지 않음
해결:
- Incognito 모드에서 이미지 접근성 테스트
- 이미지 형식 확인 (PNG, JPG, WebP)
- HTTPS URL만 사용
- 이미지 크기 확인
URL: base.dev/preview
사용 방법:
- 앱 URL 입력
- Console, Account Association, Metadata 탭 확인
- ✅/❌ 표시로 상태 확인
URL: JSONLint
사용 방법:
- Manifest JSON 복사
- JSONLint에 붙여넣기
- 문법 오류 확인
설치: npm install eruda --save-dev
사용: 개발 환경에서 모바일 디버깅
- ✅ 앱 로드
- ✅ 이미지 표시
- ✅ 지갑 연결
- ✅ Manifest 엔드포인트 접근
- ✅ Embed 렌더링
- ✅ Manifest 완성도
- ✅
primaryCategory설정 - ✅
accountAssociation설정 - ✅ 검색 인덱싱 (대기 중)
- ✅ 앱 카탈로그 표시 (대기 중)
✅ 완료된 개선 사항:
- Gesture Conflicts 해결 (
disableNativeGestures: true추가) - 기본 디버깅 체크리스트 확인 완료
- Eruda 모바일 디버깅 추가 (선택 사항)
- 이미지 크기 및 형식 확인
- 검색 인덱싱 대기 (최대 10분)
Status: ✅ Base Troubleshooting 가이드의 주요 요구사항 충족