web-dev-qa-db-ja.com

空白のアプリがデバッグビルドに失敗する-/Info.plistファイルが見つかりません

より大きなコンテキストでは、空のプロジェクトを作成してビルドコマンドを実行することに頼りました。同じエラー:

ionic start myApp blank
cd myApp
ionic cordova run ios --debug --target="iPhone-8"  --consolelogs



ionic-app-scripts build --target cordova --platform ios
[11:39:29]  ionic-app-scripts 3.2.0 
[11:39:29]  build dev started ... 
[11:39:30]  clean started ... 
[11:39:30]  clean finished in 1 ms 
[11:39:30]  copy started ... 
[11:39:30]  deeplinks started ... 
[11:39:30]  deeplinks finished in 15 ms 
[11:39:30]  transpile started ... 
[11:39:33]  transpile finished in 3.16 s 
[11:39:33]  preprocess started ... 
[11:39:33]  preprocess finished in 1 ms 
[11:39:33]  webpack started ... 
[11:39:33]  copy finished in 3.31 s 
[11:39:37]  webpack finished in 4.35 s 
[11:39:37]  sass started ... 
[11:39:38]  sass finished in 1.27 s 
[11:39:38]  postprocess started ... 
[11:39:38]  postprocess finished in 10 ms 
[11:39:38]  lint started ... 
[11:39:38]  build dev finished in 8.92 s 
[11:39:41]  lint finished in 2.65 s 
> cordova run ios --debug --target iPhone-8
Building for iPhone 8 Simulator
Building project: /myApp/platforms/ios/myApp.xcworkspace
    Configuration: Debug
    Platform: emulator
Build settings from command line:
    CONFIGURATION_BUILD_DIR = 
/myApp/platforms/ios/build/emulator
    SDKROOT = iphonesimulator12.0
    SHARED_PRECOMPS_DIR = 
/myApp/platforms/ios/build/sharedpch

Build settings from configuration file '
/myApp/platforms/ios/cordova/build-debug.xcconfig':
    CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES
    CODE_SIGN_ENTITLEMENTS = $(PROJECT_DIR)/$(PROJECT_NAME)/Entitlements-$(CONFIGURATION).plist
    CODE_SIGN_IDENTITY = iPhone Developer
    ENABLE_BITCODE = NO
    GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
    HEADER_SEARCH_PATHS = "$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include" "$(BUILT_PRODUCTS_DIR)"
    OTHER_LDFLAGS = -ObjC
    Swift_OBJC_BRIDGING_HEADER = $(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h

/myApp/platforms/ios/build/emulator/myApp.app/Info.plist file not found.
[ERROR] An error occurred while running subprocess cordova.

        cordova run ios --debug --target iPhone-8 exited with exit code 1.

        Re-running this command with the --verbose flag may provide more 
        information.

ionic --version
4.1.2
cordova --version
8.0.0 & @latest 8.1.1
XCode Version 10.0 (10A255) + build tools
macOS 10.13.6 - High Sierra. Mojave on a different machine fails the same.

誰かが疑問に思うなら、パスは調整されます...

-------------- FIX --------------

@DaveAldenの答えと一緒に、これはバグなしでライブリロードを行うためにどのように戻ってきたかです:

ionic cordova platform remove iosSudo npm install -g [email protected]ionic cordova platform add iosopen platform/ios/MyApp.xcworkspace

https://github.com/Apache/cordova-ios/issues/407 のように、指示に従ってレガシービルドシステムにフォールバックします

--buildFlag='-UseModernBuildSystem=0'なしでビルドスクリプトを実行する

10
El Dude

この問題は、Xcode 10に現在cordova-ios@4と互換性のない新しいビルドシステムが含まれているために発生します- こちらを参照

現在の解決策は、--buildFlag='-UseModernBuildSystem=0'オプションを指定してCordovaを実行し、Xcodeに古いビルドシステムを使用するように指示することです。

 cordova run ios --debug --target "iPhone-8" --buildFlag='-UseModernBuildSystem=0'

更新:便宜上、これをシェルスクリプトでラップしました。

#!/bin/bash
# Adds build flag to make cordova-ios@4 work with Xcode 10
cordova "$@" --buildFlag='-UseModernBuildSystem=0'

これをcordova-xcode10というファイルに保存し、パスにあることを確認し、実行可能(chmod a+x cordova-xcode10)にした後、次のようにします。

cordova-xcode10 run ios --target "iPhone-8"

xcode 10で動作します

37
DaveAlden

この問題はXcode 10が原因で発生します。この問題は2つの方法で解決しました。

  1. イオンコルドバビルドios---buildFlag = "-UseModernBuildSystem = 0"

  2. プロジェクトのルートにbuild.jsonファイルを作成します。

Build.jsonで以下のコードを記述します。

{
    "ios": {
        "debug": {
            "buildFlag": ["-UseModernBuildSystem=0"]
        },
        "release": {
            "buildFlag": ["-UseModernBuildSystem=0"]
        }
    }
}

その後、これらのコマンドをエラーなしで実行できます。

  • ionic cordova build ios
  • ionic cordova run ios
  • ionic cordova run ios --target="iPhone-6s" -l
5
Manish

これは私のために働いた

Open your workspace file, then File --> WorkSpace Settings

In shared Workspace settings, choose Build System: Legacy Build System.

Then run ionic cordova run -l

ソース(最後のコメント): https://forum.ionicframework.com/t/fresh-ionic-fails-to-emulate-ios-12-info-plist-file-not-found/142291

更新

Cordova IOS 5.0.0がリリースされました。 https://cordova.Apache.org/announcements/2019/02/09/cordova-ios-release- 5.0.0.html

1
Ciprian

これは私のために働く:

cordova run ios --debug --target "iPhone-8" --buildFlag='-UseModernBuildSystem=0'
0
uyghurbeg

これは私のために働いた:

cd platforms/ios/cordova && npm install ios-sim@latest
0
Brickyenne