XcodeBuild требуется профиль обеспечения для Target?Домен ошибки = IDEProvisioningErrorDomain Code = 9 - PullRequest
0 голосов
/ 22 февраля 2019

Надеюсь, это просто какая-то ошибка пользователя, но кажется, что xcodebuild не может найти профиль обеспечения для цели, я думаю, что я назову MyApp, MyApp.app - цель, которую я думаю

Я обновил свои профили инициализации, удалил все и снова добавил свои профили, проверил на портале Apple Dev и убедился, что все в порядке.Я просмотрел настройки сборки и информацию для подписи и не нашел ничего, что работает, или что-нибудь, что можно исправить, о чем я знаю или о котором рассказали мои коллеги.Я очистил, перезапустил, попробовал fastlane, и теперь я просто использую xcodebuild.Вот моя ошибка:

sudo xcodebuild -exportArchive -exportOptionsPlist 
"/Users/MyName/MyApp-ios/ExportOptions.plist" -archivePath 
'/Users/MyName/Library/Developer/Xcode/Archives/2019-02-20/MyApp             
2019-02-20 15.34.28.xcarchive' -exportPath         
"/path/MyApp.ipa" -allowProvisioningUpdates
2019-02-22 09:39:26.044 xcodebuild[15743:239787] [MT] IDEDistribution: 
-[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle 
at path '/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/DEV_2019-02- 
22_09-39-26.043.xcdistributionlogs'.
error: exportArchive: "MyApp.app" requires a provisioning profile.

Error Domain=IDEProvisioningErrorDomain Code=9 ""MyApp.app" requires a 
provisioning profile." UserInfo={NSLocalizedDescription="MyApp.app" 
requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a 
profile to the "provisioningProfiles" dictionary in your Export Options 
property list.}

Я добавил MyApp.app и MyApp в мой профиль обеспечения, и это не сработало, я просто пытаюсь построить свою схему / конфигурацию разработки.Ни один из них не извлек файл exportOptions.plist из успешного архивирования / сборки с использованием графического интерфейса.

ExportOptions

<plist version="1.0">
<dict>
    <key>compileBitcode</key>
    <false/>
    <key>destination</key>
    <string>export</string>
    <key>method</key>
    <string>enterprise</string>
    <key>provisioningProfiles</key>
    <dict>
        <key>com.mycompany.myappDEV</key>        
        <string>*********UUID**********</string>
        <key>com.mycompany.myappQA</key>
        <string>*********UUID**********</string>
        <key>com.mycompany.myappPROD</key>
        <string>*********UUID**********</string>
    </dict>
    <key>signingCertificate</key>
    <string>iPhone Distribution</string>
    <key>signingStyle</key>
    <string>manual</string>
    <key>stripSwiftSymbols</key>
    <true/>
    <key>teamID</key>
    <string>XXXXXXXXX</string>
    <key>thinning</key>
    <string>&lt;none&gt;</string>
</dict>
</plist>

Как настроить профиль обеспечения для моей цели?Или что здесь не так.

1 Ответ

0 голосов
/ 15 марта 2019

Я многому учусь каждый день, но, к счастью, старший разработчик смог помочь мне понять, как заставить xcodebuild работать на меня.Я использую Xcode 10.0

  1. Кажется, что в Build Settings мой идентификатор пакета в Packaging должен содержать только базовый идентификатор пакета, com.mycompany.app, без суффикса для DEV /Можно добавить QA / TEST или не удастся создать файл .ipa

  2. В моей компании много профилей обеспечения.У нас есть один для каждой среды, но оказывается, что у нас есть универсальный профиль, который наше приложение предпочло бы использовать com.mycompany.* У меня есть кое-какие дополнительные знания.

  3. Я использовал fastlane, этоэто было то, что я изначально хотел сделать, и я думаю, что для использования xcodebuild мне нужно было бы вставить UUID профиля обеспечения в качестве аргумента.Вот мой новый build_ios_app() в моем fastfile, который позволит мне собрать.Fastlane и xcodebuild будут перезаписывать все данные предоставления ресурсов в вашем коде xcode и exportoptions.plist, а также другие вещи, такие как export_method.Поставив PROVISIONING_PROFILE_SPECIFIER, вы избавите себя от некоторых неприятностей.

    build_app(
        workspace: "myapp.xcworkspace",
        scheme: "DEV",
        export_method: "enterprise",
        export_options: {
        signingStyle: 'manual',
        provisioningProfiles: {
            "com.mycompany.myapp" => "*****UUID*****"
        }       
    }, 
    xcargs: "PROVISIONING_PROFILE_SPECIFIER=\"*****UUID*****\""
    

    )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...