Создание IPA для корпоративного приложения, а не ad hoc

Я пытаюсь создать скрипт для файла ipa для моего приложения, но я хочу, чтобы он был для корпоративного распространения, а не для Ad Hoc.

мой сценарий:

# creating xcArchive file

xcodebuild -workspace <ProjectName>.xcworkspace -scheme <SchemeName> archive \
-archivePath <DirectoryPath><ScemeName>.xcarchive


# compressing the xcArchive file into IPA file
xcodebuild \
-exportArchive \
-exportFormat ipa \
-archivePath <DirectoryPath>/<ScemeName>.xcarchive \
-exportPath <DirectoryPath>/<ScemeName>.ipa" \
        -exportProvisioningProfile "<My Distribution Provisioning Profile>".

Теперь в мастере яблок, когда я создаю файл IPA, в его встроенном.mobileprovision я вижу эти атрибуты: для распространения на предприятии:

 <key>ProvisionsAllDevices</key>
 <true/>

для специального распространения:

<key>ProvisionedDevices</key>
    <array>
        <string>accacaca0-9800ac898a908908c90aca890c8a90</string>
        <string>123123123123123123bfd123bdf123fv123bdf12</string>
.
.
.
    </array>

В моем случае я не знаю почему, у меня нет ни одного из них, и поэтому не могу установить их на любом устройстве. Кто-нибудь может сказать мне, почему это? пожалуйста?

1 ответ

Решение

Я решил это. Я должен использовать современный подход и записать его в export.plist:

#
# creating .xcarchive file from .app file
function create_archive_file() {
    xcodebuild \
    -workspace ${PROJECT_NAME}.xcworkspace \
    -scheme "${scheme_name}" \
    archive \
    -archivePath ${SRCROOT}/${proj_external_name}/${1}.xcarchive
}
#
# compressing xcArchive file into IPA file
function create_ipa_from_archive() {
    xcrun xcodebuild \
    -exportArchive \
    -archivePath ${SRCROOT}/${proj_external_name}/${scheme_name}.xcarchive \
    -exportPath ${SRCROOT}/${proj_external_name}/folder \
    -exportOptionsPlist export.plist
}

и в файле export.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>teamID</key>
    <string>... (my TeamID, get it from one archiving action only once, and check it's details in build editor)</string>
    <key>method</key>
    <string>enterprise</string>
    <key>uploadSymbols</key>
    <true/>
</dict>
</plist>
Другие вопросы по тегам