在将app.entitlements文件添加到项目中以启用推送通知(aps-environment)之后,Sidekick云构建会产生错误 表示云构建服务器无法找到app.entitlements文件。
The following build commands failed:
\tCheck dependencies
(1 failure)
Code Signing Error: The file \"/tmp/builds/_/146cf62166c1319ab4a033cc9caf241a3f6550f1/4.2.4/4.2.0/AngusConsumerMobileAppv3/platforms/ios/AngusConsumerMobileAppv3\\app.entitlements\" could not be opened. Verify the value of the CODE_SIGN_ENTITLEMENTS build setting for target \"AngusConsumerMobileAppv3\" and build configuration \"Release\" is correct and that the file exists on disk.
在构建期间,app.entitlements文件的位置会自动包含在build.xcconfig文件中。从build.xcconfig文件中删除此行会导致重新添加相同的位置。
build.xcconfig
CODE_SIGN_ENTITLEMENTS = AngusConsumerMobileAppv3\app.entitlements
应用权利
<?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>aps-environment</key>
<string>production</string>
</dict>
</plist>
环境:
Version: 1.13.0-v.2018.10.5.2 (latest)
NativeScript CLI version: 4.2.4
CLI extension nativescript-cloud version: 1.14.2
CLI extension nativescript-starter-kits version: 0.3.5
答案 0 :(得分:1)
这似乎是一个简单的路径问题,我认为这是基于Windows路径约定(使用反斜杠)与linux约定(使用正斜杠)在云服务器上需要的(不确定原因,但工作以下内容似乎可以解决该问题),这会导致构建因路径错误而无法找到app.entitlements文件时失败。
看起来您还必须声明自己的文件名。允许系统使用默认的app.entitlements文件似乎总是导致我在build.xcconfig中的手动输入被注释掉并替换为反斜杠路径。
SO-我只是为自定义名称myapp.entitlements文件输入了一个条目
build.xcconfig
CODE_SIGN_ENTITLEMENTS = myapp_local_folder/myapp.entitlements
myapp.entitlements
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>production</string>
</dict>
</plist>
这启用了PUSH通知以进行生产,并且构建并发布到iOS应用商店的工作按预期进行。