开发者社区 问答 正文

iOS和Firebase应用程序分发不想用开发配置文件签署应用程序并分发它

我对Firebase应用程序的分发有问题。我使用的是Xcode 11,还有新的iOS开发证书,即苹果开发证书。

我增加了FastLane,在FastLane中增加了用于防火墙应用程序分发的插件。

但是,当我执行我的通道来分发应用程序时,会出现错误。

note: Using new build system
[19:55:21]: ▸ note: Planning build
[19:55:21]: ▸ note: Constructing build description
[19:55:21]: ▸ error: No profile for team 'TEAM_ID' matching 'App Name Development' found: Xcode couldn't find any provisioning profiles matching 'TEAM_ID/App Name Development'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the Signing & Capabilities tab of the target editor. (in target 'AppNameDev' from project 'AppName')

我有类似的配置和快车道与这个插件的其他应用程序,但运行在Xcode 10,我认为它有旧的证书iOS开发,而不是新的苹果开发,它的构建和分发正确。

我可以使用Archive构建这个应用程序,导出.ipa,并通过Firebase控制台手动分发它,它可以工作。

我也有这样的错误信息

There seems to be a mismatch between your provided `export_method` in gym
[19:55:21]: and the selected provisioning profiles. You passed the following options:
[19:55:21]:   export_method:      
[19:55:21]:   Bundle identifier:  com.company.AppNameDev
[19:55:21]:   Profile name:       App Name Development
[19:55:21]:   Profile type:       development

因此,它只是建议配置文件名、类型和包id,我已经在Build_IOS_app中的Fastfile文件中正确地键入了这些id。

desc "Firebase App Distribution to testers"
  lane :firebase_distribution do 
        build_ios_app(
           workspace: "AppName.xcworkspace", 
                   configuration: "Release", 
           scheme: "AppName Dev",
           silent: true,
           clean: true,
           output_directory: "firebase-builds",
           output_name: "appname.ipa", 
           sdk: "iphoneos13.1",
           export_options: {
                method: "development",
                   provisioningProfiles: { 
                    "com.company.AppNameDev" => "App Name Development"
                   }
            }
        )

        firebase_app_distribution(
                   app: "<id goes here>",
               testers_file: "fastlane/crashlytics_testers.txt",
                   release_notes: "Lots of amazing new features to test out!",
                   firebase_cli_path: "/usr/local/bin/firebase"
                )
    end 
end

展开
收起
游客5akardh5cojhg 2019-12-11 21:38:20 1191 分享 版权
阿里云 AI 助理回答

这个问题通常是因为Xcode无法找到与你的应用和团队ID匹配的正确开发证书(也称为 provisioning profile)。要解决这个问题,请按照以下步骤操作:

  1. 检查Provisioning Profile

    • 确认你已经在Apple Developer Portal中为你的App ID创建了相应的Development Provisioning Profile,并且该Profile已下载到你的Mac上。
    • 登录到Apple Developer Account, 进入"Certificates, Identifiers & Profiles",然后在"Profiles"下查看是否有对应于你应用的Development Profile。如果没有,请创建一个。
  2. 安装Provisioning Profile

    • 下载完Provisioning Profile后,双击它来安装到Xcode和你的系统中。通常情况下,这会自动完成,但有时可能需要重启Xcode以确保其生效。
  3. Xcode设置

    • 打开你的Xcode项目,选择你的target,然后进入"Signing & Capabilities"标签页。
    • 在"Team"下拉菜单中,确认选择了正确的开发者团队(TEAM_ID对应的团队)。
    • 如果"Provisioning Profile"下拉列表为空或者显示错误,点击"Manage Certificates..."按钮,Xcode会尝试自动修复问题。如果这不起作用,手动选择之前下载并安装的Development Provisioning Profile。
  4. Fastlane Match (可选)

    • 如果你使用Fastlane的Match工具管理证书和配置文件,确保已经初始化了Match存储库,并且在执行分发命令前运行了fastlane match developmentfastlane match adhoc等命令来确保最新的证书和profile被下载并安装到了本地环境。
  5. 清理与重建

    • 清理项目(Product > Clean Build Folder)并重新构建,有时候这是解决Xcode临时性签名问题的有效方法。

如果以上步骤都正确无误,但问题依旧存在,可能需要检查是否有多个Team或证书配置冲突,以及Fastlane的配置是否正确指向了预期的Team和Profile。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答