如何从控制台 xcodebuild 为无线创建 IPA 和 manifest.plist

问题描述

我有一个脚本,可以分两步收集 ipa 文件。 第一步是构建存档:

def buildArchive(nameProject,typeMode,dirBuild,dirArch):
  print('[--] Run Build Archive')
  rArch = subprocess.run(['xcodebuild','archive','-verbose','-scheme','{}'.format(nameProject),'-configuration','{}'.format(typeMode),'-derivedDataPath','{}'.format(dirBuild),'-archivePath','{}/project.xcarchive'.format(dirArch),'-allowProvisioningUpdates'],capture_output=True)
  if rArch.returncode != 0:
    if rArch.stderr:
      print('[EE] output: {}'.format(rArch.stdout.decode('UTF-8')))
      print('[EE] error: {}'.format(rArch.stderr.decode('UTF-8')))
    else:
      print('[EE] output: {}'.format(rArch.stdout.decode('UTF-8')))
    sys.exit(rArch.returncode)

第二步是创建一个IPA文件

def buildIpa(dirArch,dirdistr):
  print('[--] Run Build Ipa')
  rIpa = subprocess.run(['xcodebuild','-exportArchive','-exportPath','{}'.format(dirdistr),'-exportOptionsPlist','./{}'.format("ExportOptions.plist")],capture_output=True)
  if rIpa.returncode != 0:
    if rIpa.stderr:
      print('[EE] error: {}'.format(rIpa.stderr.decode('UTF-8')))
    else:
      print('[EE] output: {}'.format(rIpa.stdout.decode('UTF-8')))
    sys.exit(rIpa.returncode)

我认为在第一步(构建存档)中,我需要添加一些密钥以收集有关清单的其他信息。但我不明白该怎么做。请告诉我你可以在哪里阅读它。 在 Xcode 中,这是通过一个附加选项完成的:

enter image description here

解决方法

结果很简单。有必要通过 XCode 创建一个带有附加参数(无线)的 ipa 文件,并将 ExportOptions.plist 文件复制到文件夹中。它将已经包含其他参数。