You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Share Extension 버전 불일치 및 FlutterFire 빌드 오류를 해결하고,
동적 프로비저닝 프로파일 처리 및 Ruby 기반 코드 사이닝 자동화를 구현했습니다.
주요 변경사항:
- Share Extension Info.plist에 필수 번들 키 추가 (CFBundleVersion 등)
- 동적 프로비저닝 프로파일 이름 추출 (security cms -D, plutil)
- ExportOptions.plist 동적 생성으로 유지보수성 향상
- Ruby xcodeproj gem을 사용한 코드 사이닝 자동화
- FlutterFire 빌드 단계 조건부 실행으로 CI 환경 대응
- .gitignore에 동적 생성 파일 추가
해결된 이슈:
- Share Extension CFBundleVersion 불일치 에러 (null vs '11')
- CI 환경에서 flutterfire 명령 없음 에러
- 프로비저닝 프로파일 갱신 시 수동 수정 필요 문제
Copy file name to clipboardExpand all lines: ios/Runner.xcodeproj/project.pbxproj
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -398,7 +398,7 @@
398
398
);
399
399
runOnlyForDeploymentPostprocessing = 0;
400
400
shellPath = /bin/sh;
401
-
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\n\nif [ -z \"$PODS_ROOT\" ] || [ ! -d \"$PODS_ROOT/FirebaseCrashlytics\" ]; then\n # Cannot use \"BUILD_DIR%/Build/*\" as per Firebase documentation, it points to \"flutter-project/build/ios/*\" path which doesn't have run script\n DERIVED_DATA_PATH=$(echo \"$BUILD_ROOT\" | sed -E 's|(.*DerivedData/[^/]+).*|\\1|')\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"${DERIVED_DATA_PATH}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\nelse\n PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT=\"$PODS_ROOT/FirebaseCrashlytics/run\"\nfi\n\n# Command to upload symbols script used to upload symbols to Firebase server\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=\"$PATH_TO_CRASHLYTICS_UPLOAD_SCRIPT\" --platform=ios --apple-project-path=\"${SRCROOT}\" --env-platform-name=\"${PLATFORM_NAME}\" --env-configuration=\"${CONFIGURATION}\" --env-project-dir=\"${PROJECT_DIR}\" --env-built-products-dir=\"${BUILT_PRODUCTS_DIR}\" --env-dwarf-dsym-folder-path=\"${DWARF_DSYM_FOLDER_PATH}\" --env-dwarf-dsym-file-name=\"${DWARF_DSYM_FILE_NAME}\" --env-infoplist-path=\"${INFOPLIST_PATH}\" --default-config=default\n";
401
+
shellScript = "\n#!/bin/bash\n\n# CI 환경이거나 flutterfire가 없으면 조건부 스크립트 사용\nif [ -f \"${SRCROOT}/scripts/upload_crashlytics_symbols.sh\" ]; then\n bash \"${SRCROOT}/scripts/upload_crashlytics_symbols.sh\"\nelse\n echo \"⚠️ upload_crashlytics_symbols.sh not found, skipping...\"\nfi\n";
0 commit comments