2017-07-25 10 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的路線。但這是我能想到的最好的解決方案。

相關問題