Phonegap IOS使用build.json进行签名

时间:2016-12-20 18:23:22

标签: ios build phonegap-cli

我最初使用的是Phonegap构建服务来创建我的“调试”应用程序,这需要一个.p12文件和一个配置文件,但现在他们已经准备好进行生产我正在使用一个脚本结合钩子来构建我的“发布” “本地使用Phonegap cli 6.4的应用程序

phonegap build --release --buildConfig build.json

我在命令行中遇到此错误

Error: Error code 65 for command: xcodebuild with args: 
-xcconfig,/Users/cuesta/workspace/mobile/platforms/ios/cordova/build-release.xcconfig,-workspace,myappname.xcworkspace,-scheme,myappname,-configuration,Release,-sdk,iphonesimulator,-destination,platform=iOS Simulator,name=iPhone 5s,build,CONFIGURATION_BUILD_DIR=/Users/cuesta/workspace/mobile/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/cuesta/workspace/mobile/platforms/ios/build/sharedpch

此命令失败后

CompileAssetCatalog build/emulator/myappname.app myappanem/Images.xcassets

我的猜测是我的build.json配置错误用于IOS构建。所以我的问题是:

- 我在哪里可以找到“codeSignIdentity” 或者请解释以下内容。

  

用于签名的代码签名身份。它可以使用Xcode创建并添加到您的钥匙串中。 https://cordova.apache.org/docs/en/latest/guide/platforms/ios/

- 开发团队是我放“teamId”的吗?

- 我的“teamId”是否可能与我的app id前缀完全相同?

我有一个prod证书(导出到.p12)并准备好文件。 (下面的模板)

"ios": {
    "debug": {
        "codeSignIdentity": "iPhone Development",
        "provisioningProfile": "confirmedcorrect",
        "developmentTeam": "10or12",
        "packageType": "development"
    },
    "release": {
        "codeSignIdentity": "iPhone Distribution",
        "provisioningProfile": "confirmedcoorect",
        "developmentTeam": "10or12",
        "packageType": "app-store"
    }
}

1 个答案:

答案 0 :(得分:9)

很多问题我不确定要回答什么,所以让我们一个接一个地回答......

我在哪里可以找到" codeSignIdentity"?

你的意思是什么?

security find-identity -v -p codesigning

它将返回所有代码签名身份。

开发团队是我放置" teamId"?

是。如果您不确定该ID,请检查https://developer.apple.com/account/#/membership

我的" teamId"是否可能?生成与我的应用ID前缀完全相同?

请注意,在latest (dev) revision of the documentation中,信息build.json信息已更改。新格式如下:

{
    "ios": {
        "debug": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "development",
            "buildFlag": [
                "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
                "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
                "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
            ]
        },
        "release": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "app-store",
            "buildFlag": [
                "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
                "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
                "LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
            ]
        }
    }
}

我不确定这是否能解答您的所有问题,但至少应该清楚一些问题。