UFO ET IT

'cordova build ios --release'를 사용하여 iPhone 앱을 배포 (.ipa 생성)하려면 어떻게해야합니까?

ufoet 2021. 1. 6. 20:03
반응형

'cordova build ios --release'를 사용하여 iPhone 앱을 배포 (.ipa 생성)하려면 어떻게해야합니까?


cordova거기 문서사용하여 'helloworld'iOS 앱을 만들었습니다 . 실행하면 앱이 성공적으로 실행됩니다 cordova emulate ios. 내가 할 수없는 것은 배포하는 동안 cordova build --release. .ipa거기에 파일을 생성하지 않습니다 . 내가 찾은 것은 디렉토리 Helloworld.build파일 PROJECT_ROOT/platforms/ios/build뿐입니다. 여기에 뭔가 빠졌나요?


나를 위해 일한 다음 명령을 찾았습니다.

cordova build ios --device
cd platforms/ios/build/device
/usr/bin/xcrun -sdk iphoneos PackageApplication "$(pwd)/$PROJECT_NAME.app" -o "$(pwd)/$PROJECT_NAME.ipa"

출처 : http://www.splinter.com.au/xcode-4-command-line-builds-of-iphone-apps/

@MD를 실행했습니다. Mohiuddin Ahmed의 Ruby 스크립트가 먼저 내 xcodeproj 파일을 변경했을 것입니다. 그게 필요한지 잘 모르겠지만 그렇게 생각하지 않습니다.

XCode 8 업데이트 : 주석 작성자가 언급했듯이 PackageApplicationXCode 8에서 제거되었습니다. 프로세스를 업데이트하려면 다음 질문을 참조하십시오. Xcode의 PackageApplication을 대체하는 것은 무엇입니까?

cordova build주석에서 제안한대로 명령을 추가하여 프로세스를 명확하게 편집했습니다 .


cordova ios 3.9.0 이상을 사용하는 경우이 명령을 사용하여 .ipa추가 명령없이 CLI 에서 직접 만들 수 있습니다 .

cordova build ios --device --release

build.json프로젝트의 루트에 파일 이 필요합니다.

{
  "ios": {
    "debug": {
      "codeSignIdentity": "iPhone Developer",
      "provisioningProfile": "your-dev-provisioning-profile-UUID-here"
    },
    "release": {
      "codeSignIdentity": "iPhone Distribution",
      "provisioningProfile": "your-distribution-provisioning-profile-UUID-here"
    }
  }
}

UUID를 얻으려면 .mobileprovision텍스트 편집기 에서 파일을 열고 'UUID'를 검색합니다. 더 쉬운 방법이 있는지 확실하지 않습니다.

엑스 코드 8 사용하는 경우 build.json필요에 developmentTeam필드와 packageType프로비저닝 프로파일을 필드,하지만 더 이상 필요하지, 또한이 codeSignIdentity되어야합니다 iPhone Developer디버그 및 릴리스 모두 :

{
    "ios": {
        "debug": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "development"
        },
        "release": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "app-store"
        }
    }
}

http://cordova.apache.org/docs/en/6.x/guide/platforms/ios/index.html#using-buildjson


마침내 xcodeproj , xcode 및이 루비 스크립트 를 사용하여이를 자동화하는 방법을 알아 냈습니다 .

require 'xcodeproj'
xcproj = Xcodeproj::Project.open("HelloWorld.xcodeproj")
xcproj.recreate_user_schemes
xcproj.save

그리고 PROJECT_ROOT/platforms/ios/디렉토리 에서이 명령이 내 *.ipa다음 을 생성하는 데 도움이되었습니다 .

xcodebuild -project HelloWorld.xcodeproj -exportArchive -exportFormat ipa -archivePath $(pwd)/HelloWorld.xcarchive -exportPath $(pwd)/HelloWorld.ipa CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -alltargets -configuration Release

서명 할 수 있다고 생각했습니다. 나중에 ipa :)


http://fir.im 에서 새 도구를 사용해 볼 수 있습니다 .

그들은 루비로 작성된 fir cli 도구를 가지고 있습니다. 다음 명령을 사용하여 설치할 수 있습니다.

sudo gem install fir-cli --no-ri --no-rdoc

Sign up an account (all free like the good old testflight) and get a token from your profile. From your command prompt run:

fir login

Provide your token.

CD into your directory where your .xcodeproj located.

fir build_ipa . 

After a while (if the build success) you will find your ipa in your ./build_ipa folder.

ReferenceURL : https://stackoverflow.com/questions/24061063/how-can-i-deploy-create-ipa-iphone-app-using-cordova-build-ios-release

반응형