我有一个我从Expo导出的iPhone应用程序,因此我可以使用自己的硬件进行构建。
简单地说我打电话给exp detach
然后我打电话给
cert
sigh
gym
使用fastlane beta
由于无法签署我的应用程序,因此无法构建。错误是
[15:27:30]: ▸ === BUILD TARGET appname OF PROJECT appname WITH CONFIGURATION Release ===
[15:27:30]: ▸ Check dependencies
[15:27:30]: ▸ No profiles for 'com.getexponent.appname' were found: Xcode couldn't find a provisioning profile matching 'com.getexponent.appname'.
[15:27:30]: ▸ Code signing is required for product type 'Application' in SDK 'iOS 10.3'
显然它正从某个地方拿起com.getexponent.
。我在app.json
中设置了正确的捆绑名称。
我还更新了Fastfile
lane :beta do
update_app_identifier(
xcodeproj: '../ios/appname.xcodeproj',
plist_path:'./appname/Supporting/Info.plist',
app_identifier: "com.mycompany.appname"
)
cert
sigh
gym(
scheme: "appname",
workspace: '../ios/appname.xcworkspace'
)
end
然而我收到相同的错误消息。
在fastlane
中,我可以更改世博会的内容,或者我需要更改哪些内容?
答案 0 :(得分:3)
我在世博会资料库here上打开了一个相关问题。似乎exp detach
命令实际上不是部署友好的......
我正在使用Bitrise进行部署,其中包含修改PROJECT_BUNDLE_IDENTIFIER
的步骤。您可以执行以下操作:
NEW_BUNDLE_IDENTIFIER="com.mynewbundle.identifier
PBXPROJ_FILE="path/to/project.pbxproj"
sed -i "" "s/\(PRODUCT_BUNDLE_IDENTIFIER = \).*\(;\)/\1${NEW_BUNDLE_IDENTIFIER}\2/" $PBXPROJ_FILE
(基于this Bitrise step)。
答案 1 :(得分:0)
最后,我将此添加到Fastfile
步骤
sh "sed -i '' 's/com.getexponent.allotmentlab/com.foam.allotmentlab/g' '../../ios/allotmentlab.xcodeproj/project.pbxproj'"
这是一个糟糕的解决方案,因为您必须知道错误的字符串是什么。您还需要知道从Fastfile
到project.pbxproj
的路线。但这是我能想到的最好的解决方案。