2017-07-25 11 views
0

我有一个iPhone应用程序可以从Expo中导出,因此可以使用我自己的硬件构建。使用Fastlane(或任何其他方法)构建从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

回答

2

我在世博资料库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)。

0

最后,我已将此添加到我的Fastfile

sh "sed -i '' 's/com.getexponent.allotmentlab/com.foam.allotmentlab/g' '../../ios/allotmentlab.xcodeproj/project.pbxproj'" 

这是一个糟糕的解决方案,因为你要知道错误的字符串是什么的开始。您还需要知道从Fastfileproject.pbxproj的路线。但这是我能想到的最好的解决方案。

相关问题