오프라인 빌드 적용 방법
오프라인 모드에서 BuzzAD iOS용 SDK를 연동하고 앱을 빌드할 수 있습니다. 오프라인 빌드를 진행하려면 먼저 버즈빌에 제공하는 프레임워크를 준비하고 프로젝트에 프레임워크와 Run script를 추가해야 합니다.
오프라인 빌드용 프레임워크
버즈빌에서 오프라인 빌드를 위해 제공하는 프레임워크는 아래와 같이 구성되어 있습니다. 정상적인 빌드를 위해서는 아래에 나열된 프레임워크를 모두 프로젝트에 추가해야 합니다.
| 분류 | 파일명 | 설명 |
| BuzzAdBenefit Framework | BuzzAdBenefit.framework | 광고 지면을 사용하기 위한 공통적인 기능을 제공하는 프레임워크 |
BuzzAdBenefitBase.framework | 광고 지면에서 사용하는 공통적인 기능을 제공하는 내부 프레임워크 | |
BuzzAdBenefitNative.framework | Native 지면을 연동하기 위한 프레임워크 | |
BuzzAdBenefitInterstitial.framework | Interstitial 지면을 연동하기 위한 프레임워크 | |
BuzzAdBenefitFeed.framework | Feed 지면을 연동하기 위한 프레임워크 | |
| Dependency | AFNetworking.framework | RESTful 네트워크 API 프레임워크 |
SDWebImage.framework | UIImageView 카테고리로써 캐시를 지원하는 비동기식 이미지 다운로더 | |
SDWebImageWebPCoder.framework | 정적 WebP 또는 애니메이션 WebP에 대해 WebP 디코딩 및 인코딩을 모두 지원하는 프레임워크 | |
ReactiveObjC.framework | 값 스트림을 구성하고 변환하기 위한 API를 제공하는 Objective-C 프레임워크 | |
GoogleAds-IMA-iOS-SDK | VAST 호환 광고 서버에서 광고를 요청하고 앱에서 동영상 광고의 재생 동작을 관리하고 제어하는 SDK |
오프라인 빌드용 프레임워크 추가하기
프로젝트에 오프라인 빌드용 프레임워크를 추가하려면 다음의 절차를 따르세요.
- [프로젝트 메뉴] > General 탭을 클릭하세요.
- Embedded Binaries 영역에서 + 버튼을 클릭하여 버즈빌의 오프라인 빌드용 프레임워크를 추가하세요.
Run script 추가하기
Universal framework로 빌드된 바이너리에서 불필요한 architecture들을 떼어내기 위해 Run script를 추가해야 합니다.
Run script를 추가하려면 다음의 절차를 따르세요.
- [프로젝트 메뉴] > Build Phases 탭을 클릭하세요.
- 왼쪽 상단의 + 버튼을 클릭하고 New Run Script Phase를 선택하세요.
- 아래 스크립트를 붙여 넣으세요.
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK; do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS; do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done