iOS 재 서명 절차 적용

2642 단어
재 서명 을 사용 하 는 것 은 다른 사람 에 게 역 주 행 하 는 APP 에 필요 한 기술 입 니 다. 다음 절 차 를 소개 합 니 다. 1. 빈 프로젝트 를 만 들 고 이름 은 대상 APP 의 ipa 패키지 와 동명 이인 입 니 다.
2. ipa 가방 의 압축 을 풀 려 면 먼저 다시 서명 하 는 목 표 는 app 폴 더 입 니 다. ipa 가방 안에 있 습 니 다. 다시 서명 할 때 이. ipa 는 껍질 을 벗 긴 후에 해 야 합 니 다. 대응 하 는 셸 문 구 는 unzip 입 니 다.
3. app 폴 더 에 있 는 PlungIns 폴 더 와 Watch 폴 더 를 삭제 합 니 다. 개인 인증서 로 서명 할 수 없 기 때 문 입 니 다.
4. FrameWorks 폴 더 에 있 는 모든 framework 파일 을 다시 서명 합 니 다. 다시 서명 하려 면 자신의 인증 서 를 사용 해 야 합 니 다. 열쇠 꾸러미 에서 받 을 수 있 습 니 다. xcode 에서 실 행 된 스 크 립 트 라면 환경 변수 $EXPANDED_CODE_SIGN_IDENTITY 로 받 을 수 있 습 니 다.
5.. app 파일 에 있 는 info. plist 파일 을 변경 하고 bundleId 를 빈 항목 의 ID 로 설정 합 니 다. 이것 은 셸 스 크 립 트 를 사용 하면 PlistBuddy 으로 설정 할 수 있 습 니 다.
6. app 폴 더 의 mach - o 파일 에 실행 권한 추가 (필요 하 다 면)
7. 이. app 파일 을 프로젝트 에서 생 성 된. app 패 키 지 를 교체 합 니 다 (xcode 컴 파일 후 필요)
8. 운행
위의 몇 단 계 는 스 크 립 트 로 이 루어 집 니 다. xcode 의 Build Phase 에 컴 파일 된 스 크 립 트 를 추가 하면 2 - 7 단 계 를 실행 할 수 있 습 니 다. 순 서 는 변 할 수 있 습 니 다. 예 를 들 어 다음 과 같 습 니 다 (이 예 는 Hank 의 스 크 립 트 입 니 다).
# ${SRCROOT}            
TEMP_PATH="${SRCROOT}/Temp"
#     ,              APP   ,   ipa 
ASSETS_PATH="${SRCROOT}/APP"
#  ipa   
TARGET_IPA_PATH="${ASSETS_PATH}/*.ipa"
#  Temp   
rm -rf "${SRCROOT}/Temp"
mkdir -p "${SRCROOT}/Temp"

#----------------------------------------
# 2.   IPA Temp 
unzip -oqq "$TARGET_IPA_PATH" -d "$TEMP_PATH"
#         APP   
TEMP_APP_PATH=$(set -- "$TEMP_PATH/Payload/"*.app;echo "$1")


#----------------------------------------
# 7.       .app       
# BUILT_PRODUCTS_DIR      APP    
# TARGET_NAME target  
TARGET_APP_PATH="$BUILT_PRODUCTS_DIR/$TARGET_NAME.app"

rm -rf "$TARGET_APP_PATH"
mkdir -p "$TARGET_APP_PATH"
cp -rf "$TEMP_APP_PATH/" "$TARGET_APP_PATH"

#----------------------------------------
# 3.   extension WatchAPP.        Extention
rm -rf "$TARGET_APP_PATH/PlugIns"
rm -rf "$TARGET_APP_PATH/Watch"

#----------------------------------------
# 5.   info.plist   CFBundleIdentifier
#    :"Set : KEY Value" "      "
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PRODUCT_BUNDLE_IDENTIFIER" "$TARGET_APP_PATH/Info.plist"

#----------------------------------------
# 6.  MachO       
#   MachO     
APP_BINARY=`plutil -convert xml1 -o - $TARGET_APP_PATH/Info.plist|grep -A1 Exec|tail -n1|cut -f2 -d\>|cut -f1 -d\

이 코드 를 실행 가능 한 파일 로 저장 할 수 있 습 니 다. 그러면 Build Phase 에서 이 스 크 립 트 를 실행 하면 됩 니 다.
이 스 크 립 트 는 다시 서명 한 후 자동 으로 프로그램 을 실행 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기