Yazdır: Giriş, ": CFBundleIdentifier", Mevcut Değil


117

react-native run-iosDerlemeyi çalıştırdığımda başarılı oluyor ancak aşağıdaki hatayı alıyorum. Her yeri kontrol ettim ama hiçbir şey çalışmıyor gibi görünüyor. sudoKomutun önünde kullanmak da yardımcı olmuyor. Xcode 7.3, react-native-cli: 0.2.0, react-native: 0.24.1, node v5.11.0 kullanıyorum.

=== BUILD TARGET mobileTests OF PROJECT mobile WITH CONFIGURATION Release ===

Check dependencies

** BUILD SUCCEEDED **

Installing build/Build/Products/Debug-iphonesimulator/mobile.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/done.js:10
      throw err;
      ^

Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/mobile.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

    at checkExecSyncError (child_process.js:470:13)
    at Object.execFileSync (child_process.js:490:13)
    at _runIOS (runIOS.js:91:34)
    at runIOS.js:24:5
    at tryCallTwo (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:45:5)
    at doResolve (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:200:13)
    at new Promise (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:66:3)
    at Array.runIOS (runIOS.js:23:10)
    at Object.run (/Users/astiefel/workspace/bosspayments/mobile/node_modules/react-native/local-cli/cli.js:86:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)

Paket tanımlayıcı dosyada var mı? Sanmıyorum, bu yüzden soru "neden dosyaya yazılmıyor".
trojanfoe

Bu gerçekten yardımcı olmuyor. Detaylandırır mısın
astiefel

Benim için bunun nedeni Xcode9.4 ile react-native uyumluluk sorunu. Aşağıdaki adımları kullanarak çözdüm. "rm -rf node_modules", ardından "react-native upgrade", ardından "npm install" ardından "react-native run-ios"
raja

Raja .. node_modules klasörünü kaldırdıktan sonra react-native yükseltmeyi çalıştırmanın mümkün olduğundan emin misiniz? Denedim ve yükseltmenin tanınmadığını söyledi
VK1

Sadece terminalinizi kapatın, tekrar açın ve benim için çalıştığı uygulamayı çalıştırın.
Chandni

Yanıtlar:


110

Xcode'da Proje Aç

Xcode> 9 çalıştır komutu varsa react-native upgrade(bu, tüm iOS yapılandırmalarınızın üzerine yazar, dikkatli kullanın !)

sonra

1. Dosya -> Proje ayarlarına gidin

2. Gelişmiş düğmesine tıklayın

3. "Özel" i seçin ve aşağı açılır menüden "Çalışma Alanına Göre" öğesini seçin

4. "Yapı / Ürünler" i "derleme / Yapım / Ürünler" ve "Derleme / Ara Ürünler" i "derleme / Yapım / Ara Ürünler" olarak değiştirin

Paket ekle

5. tamamlandı, bitti


1
Bu benim için xcode 8.2'de çalıştı, sorunumu çözdü, teşekkürler!
KrakenDev

@SurajShingade Makinemde Xcode 9.4 var ve "Dosyalar" içinde "Proje Ayarları" seçeneğini bulamıyorum. Sadece "Çalışma Alanı Ayarları ..." görüyorum. Proje Ayarlarına nereden erişeceğinizi biliyor musunuz? - imgur.com/a/SqAemnL - Dosya menüsü açıkken seçenek tuşunu basılı tutmak da onu göstermiyor
Pat Needham

1
@PatNeedham "Proje Ayarları", "Çalışma Alanı Ayarları" olarak yeniden adlandırıldı
Toby Caulk

3
Bu çözümün neden işe yaradığını biraz açıklayabilir misiniz?
Victor

3
XCode 10 itibariyle düzeltmenin yolu hala bu
jacurtis

70

Config.h dosyanız eksikse bu durum oluşabilir ,

Güncelleme config.h dosyası için,

1) Xcode'unuzu kapatın.

2) Terminal'i açın, projenizin kök klasörüne gidin ve şunları yapın:

cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/

3) configure betiğini çalıştırın:

./configure

4) Xcode'u açın ve uygulamanızı çalıştırmayı deneyin.

{X}: sürüm numarası glog


Teşekkürler!! bu benim zamanımı kurtardı.
Gurjinder Singh

6
React-native'i sıfırdan kurdum, ilk projemi oluşturdum, ancak işe yaramadı. Bu cevap sorunumu çözdü. Yeni ve yeni bir enstalasyon olduğu için bunun neden olduğunu merak ediyorum
Antonio

Bunun neden olduğunu açıklayabilir misiniz?
Patrick Bassut

Bu benim için çalıştı. React-native 0.55'in yeni kurulumu, Xcode sürüm 10
mat

1
... configure0.58'deki gibi komut dosyası yoksa ne olur ?
Scott Skiles

29

React'i kullanarak güncelleme react-native upgradebenim için yaptı.

Sorumluluk reddi : bu, tüm iOS yapılandırmalarınızın üzerine yazar, dikkatli kullanın !


30
tüm iOS dosyalarının üzerine yazmak, projenizde yaptığınız tüm yapılandırmaların üzerine yazacaktır. lol. sorumluluk reddini kendi sorumluluğunuzda kullanmak, yapabileceğiniz en az şeydir.
AlxVallejo

1
Birisi "tüm iOS yapılandırmalarınızın" ne anlama geldiğini açıklayabilirse yardımcı olur.
Andrew Koster

25

Xcode 10 kullanıyorsanız, bunun nedeni Xcode'un en son yapı sistemiyle uyumsuzluk olabilir. Eski yapı sistemine geçmeyi deneyin.

Xcode 10'u açın, Dosya> Proje Ayarları> Sistem Oluştur> açılır listeyi Eski Derleme Sistemine geçirin.

Ekran görüntüsü


sıçanlar! Bu soruna iki iş günü kaybettim. Çılgın olan şey CLI yapımın 3 gün öncesine kadar gayet iyi çalışması. Hiçbir fikrim olmadı. Bu da sorunu çözmedi. Ağlamamı büyütmek ister misin? TT
Mike S.

10

Benim sorunum aslında yapımın Hata Ayıklama modu yerine Yayın modunda olmasıydı. Sonuç olarak, tanımlayıcı var olmayan bir şeye işaret ediyordu. Yapı tipini değiştirdim ve işe yaradı.


3
Peki ya projenizi Release modunda çalıştırmak istiyorsanız?
Tieme


@astiefel Sanırım bana da bu oluyor. Bu arada yapı türünü nasıl değiştirirsiniz?
JohnnyQ

@JohnnyQ Product-> Scheme-> bölümüne gidin Edit Schemeve ardından Derleme Yapılandırması altında Hata Ayıkla'yı seçin
astiefel

10

Ben de bu sorunla karşılaştım ve düzeltmenin bir yolunu buldum

İşte yaptığım şey:

1) Dosya dizininde beyaz boşluk olmadığından emin olun.

2) cd proje dizini

3) react-native upgrade komutunu çalıştırın

4) Yerel ios klasörüne gidin ve xcode projesini açın.

5) Dosya> Proje Ayarları> Gelişmiş'e gidin ...

6) özel> Çalışma alanına göre'i seçin

7) ürün yolu 'inşa / Yap / Ürünler' olmalıdır

8) ara yol 'inşa / Yap / Ara' olmalıdır

9) şimdi terminal react-native run-ios'unuzda komut çalıştırmayı deneyin

Umarım bu çözümler bazılarımızın bu sorunla yüzleşmesine yardımcı olur.


21
benim için çalışmadı hala şu hatayı alıyorum: Giriş, ": CFBundleIdentifier", Mevcut Değil
Mehrnoosh

9

İçin react-native@0.46.4aşağıdakilerden benim için hile yaptı:

1) Yollarınızı kontrol edin, .xcodeproj (.xcworkspace değil) dosyanızı açın ve:

  • Dosya> Proje Ayarları> Gelişmiş'e gidin

  • özel> Çalışma alanına göre

  • ürünlerin yolunu ayarla 'build/Build/Products'
  • ara yolu şuna ayarla 'build/Build/Intermediates'
  • bitti'ye basın ve değişikliklerinizi kaydedin

2) rm -rf ios/buildProjenizin kök dizininde çalıştırın

3) React paketleyicinizi kapatın

4) react-native run-iosTekrar çalıştırın


Şunlarda da çalışır: "react": "16.2.0", "react-native": "0.52.0",
Raju yourPepe

RN projemizin iOS bölümüne Podlar aracılığıyla bağımlılıklar ekledikten sonra bu sorun benim için çözüldü. Hariç: Bu değişikliği .xcworkspaceyapılandırmada yaptım .
cayleyh

@cayleyh, bu tam olarak benim için olmadı ama Splashscreenhatayı ortadan kaldırdı , yani içinde yapmadığınız dışında Tims adımını takip ettiğinizi mi söylüyorsunuz xcworkspace?
Daniel

8

Yeni bir paket yükledikten sonra node_modules klasörümde sorun çıktığında bu başıma geldi. Klasörü öldürdüm rm -rf node_modulesve ardından npm installpaketleri yeniden yüklemek için bir yaptım ve bu onu düzeltti.


Bunu benim için düzelten tek şey buydu.
223seneca

7

Print: Entry, ":CFBundleIdentifier", Does Not ExistMesajı sadece proje derleme veya bağlantı başarısız olduğunu gösterir. Gerçek kök neden hakkında bir ipucu bulmak için çıktınıza geri dönmeniz gerekecek.

Sorun yaşıyorsanız, yalnızca son birkaç satıra değil, tam derleme çıktısına bakın. Projeyi Xcode'da açıp oluşturmak için ⌘B'ye basmak isteyebilirsiniz. Xcode'daki derleme hataları, hatanın temel nedenini bulmanıza yardımcı olacaktır.


Hayat kurtarıcı. Gerçekten de başka bir sorundu. Şemamın adı değiştirildi ve sorun çözüldü.
Mohammad Abbas

Xcode derlememde ve inşa edebilirim.
React

6

Bu hatayı aldıysanız, muhtemelen uygulamanız için doğru yola sahip değilsinizdir.

Komut işlenirken bir hatayla karşılaşıldı (etki alanı = NSPOSIXErrorDomain, kod = 2): İstenen uygulama yüklenemedi Sağlanan yolda bir uygulama paketi bulunamadı. İstenen uygulama paketi için geçerli bir yol sağlayın. Baskı: Giriş, ": CFBundleIdentifier", Mevcut Değil

React Native, runIOS.js'deki run-ios komutunun bir parçası olarak bunu kodladı

build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app

Ne yazık ki, Xcode yapılandırmanıza ve bir Xcode Projesi veya Çalışma Alanı kullanıp kullanmadığınıza bağlı olarak farklı yapı yollarına sahiptir. Bir Xcode Projesi için varsayılan yolun olduğuna inanıyorum build/Products. Programcılara CLI'den daha fazla esneklik sağlamak için 11899
bu çekme talebini gönderdim .


3

Benim için bu, Cocoapod'ları kullanarak modülleri yanlışlıkla kurmakla ilgili bir sorundu. react-native link aynı zamanda .

Aynı modüller için bu ikisini karıştırmayın!


Peki bununla nasıl dolaşılır?
Isaac

@Isaac nuke önbelleği ve projenizin nasıl kurulduğuna bağlı olarak cocoapods / react-native bağlantıyla yükleyin
Buruiană Cătălin

3

Bunu silerek /build/ve react-native run-iostekrar çalıştırarak düzelttim


@Eran Veya Provide a valid path to the desired application bundle.konsolunuzda görüyor musunuz? Aşağıdaki xcode ayarlarını deneyinfile => project settings, build system: legacy, derived data: project-relative, DerivedData in the input => advanced, custom, relative to workspace, build/Build/ in the first 2 inputs

2

Bir paket tanımlayıcı beyan ettiğinizi kontrol ettiniz mi? Bunu xcode'daki proje dosyanıza tıklayıp ardından genel sekmeyi seçerek yapabilirsiniz ve "Kimlik" altındaki ilk metin kutusunun altında listelenir. Kontrol etmenin başka bir yolu, projenizin ios klasöründeki info.plist dosyanızı kontrol etmektir. İnfo.plistimde böyle görünüyor. Projem için gerçek paket tanımlayıcım xcode'da.

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

1
Evet, kontrol ettim. Hata aslında kodumun hata ayıklama modu yerine yayın modunda olmasıydı.
astiefel

2

Benim durumumda git'ten proje çekiyorum ve aynı zamanda ios klasörünü de içeriyor.

Önce ios klasörünü kaldırırım rm -rf ios sonra,react-native upgrade


2

Bu hatayı çözmek için aşağıdaki adımları takip edebilirsiniz:

Aşama 1

Open terminal

Adım 2

cd node_modules/react-native/third-party

Aşama 3

ls

Copy or identify glog-{version}

4. adım

cd ../../../

Adım 5

cd node_modules/react-native/third-party/glog-{version}

6. Adım

./configure

Umarım bu işe yarar !!!


2

Tüm bu çözümleri denedim ama benim için işe yarayan şu:

  1. Çalıştırmak react-native upgrade
  2. xcode'u aç
  3. uygulamayı xCode'da çalıştırın
  4. iyi çalışıyor!

teşekkürler Eli, bu sorunu sadece "react-native upgrade" i çalıştırarak
çözdüm

Kurumsal ortamlarda çalışanlar için, bu çözümü kullanırken dikkatli olmanızı öneririm. React-native çekirdeğin yükseltilmesi planlanmalıdır çünkü başkalarının çalışmalarını olumsuz etkileyebilir. Önce sor.
Mike S.


1

0.44 çalıştırmak için uygun , ama 0.45 yapamaz , belki de bunu aşağıdaki komutla çözdüğüm sürüm problemidir : rninit init TaxiApp --source react-native@0.44.0;


1

Xcode'da kullanmadığım bazı simülatörleri sildiğim için terminalim aynı mesajı veriyor.

react-native run-iosBelirli parametreler olmadan çalıştırırsanız , react-native, benim durumumda iOS 10.3.1 ile iPhone 6 olan varsayılan simülatörü çalıştıracaktır ve bu simülatörü şans eseri sildim.

İşte hata mesajım geliyor:

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
        { id:F3A7BF54-B827-4517-A30D-8B3241C8EBF8 }

Available destinations for the "albums" scheme:
    { platform:iOS Simulator, id:CD64F26B-045A-4E27-B05A-5255924095FB, OS:10.3.1, name:iPad Pro (9.7 inch) }
    { platform:iOS Simulator, id:8FC41950-9E60-4264-B8B6-20E62FAB3BD0, OS:10.3.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:991C8B5F-49E2-4BB7-BBB6-2F5D1776F8D2, OS:10.3.1, name:iPad Pro (12.9 inch) }
    { platform:iOS Simulator, id:B9A80D04-E43F-43E3-9CA5-21137F7C673D, OS:10.3.1, name:iPhone 7 }
    { platform:iOS Simulator, id:58F6514E-185B-4B12-9336-B8A1D4E901F8, OS:10.3.1, name:iPhone 7 Plus }

. . .

Installing build/Build/Products/Debug-iphonesimulator/myapp.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/myapp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Bunlardan kurtulmak için Xcode'unuzu açın ve mevcut simülatörleri kontrol edin (listelenen terminalle aynı) ve çalıştırın react-native run-ios --simulator="your device name"

Benim durumum için koştum, react-native run-ios --simulator="iPhone 7"sorun çözüldü.


Mükemmel! Teşekkürler!
Asinox

1

Tüm cevapları denedikten birkaç ay sonra, nihayet işletim sistemimi Sierra'ya güncelliyorum, XCode'u en son sürüme güncelle ve bununla birlikte tüm hatalar kayboluyor. Umarım bu bazı insanlara yardımcı olabilir!


1

Eklemek, düzeltmelerin üstünde hiçbir şey olmadığında benim için çalışıyor:

  1. React-native-git-upgrade'i kurun ve projenizi güncelleyin. npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Xcode -> Dosya -> Proje ayarları -> Gelişmiş'i açın.
  3. " Özel " i seçin , ardından " Çalışma Alanına Göre " öğesini seçin ve ardından bitti seçeneğine tıklayın.
  4. CLI'nizi güncelleyin. npm i -g react-native-cli
  5. Nodejs 8 ve NPM'nizi güncelleyin. nvm install --ltsvenvm install-latest-npm
  6. İos / build ve node_modules'i kaldırın (proje kök yolunuzda)
  7. Ve ile tekrar devam edin npm installve react-native run-iosbana sarılın :-)

Sonunda burada çalışıyor.

  • Mac OS Yüksek Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • Düğüm 8.11.1
  • 0,55,2 RN

1

Bu sürümü kullanmak benim için xcode 10.1 ile çalışıyor

"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"

Dürüst olmak gerekirse yukarıdakilerin kurtarıcım olacağını düşündüm ve bu bile işe yaramadı. Yani yükseltme, nah ikna olmadım.
Daniel

1

Tüm bu çözüm önerileri benim için işe yaramadı. Az önce 0.58.5 rn projesi oluşturdum. Ve projemle karşılaştırıldığında. > JavaScriptCore.frameworkAltında olmadığını gördüm . Sürükleyip bıraktıktan sonra JavaScriptCore react-native run-ios oluşturma başarılı oldu.Build PhasessLink Binary With Libraries

JavaScriptCore.framework yer: ‎⁨Macintosh HD⁩ ▸ ⁨Applications⁩ ▸ ⁨Xcode⁩ ▸ ⁨Contents⁩ ▸ ⁨Developer⁩ ▸ ⁨Platforms⁩ ▸ ⁨iPhoneOS.platform⁩ ▸ ⁨Developer⁩ ▸ ⁨SDKs⁩ ▸ ⁨iPhoneOS.sdk⁩ ▸ ⁨System⁩ ▸ ⁨Library⁩ ▸ ⁨Frameworks⁩

JavaScriptCore.framework


+1 veriyordum da 0.58.5 çalıştırıyordum ve çerçeve ortamımda da eksikti.
Brian P

1

Benim için cocoapod'lar tarafından yönetilen ios bağımlılıkları vardı.

Bunu yapmak zorundaydım:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

Bu benim için çalıştı

https://shift.infinite.red/beginner-s-guide-to-using-cocoapods-with-react-native-46cb4d372995

Not: Başkasının yaptığı işi anlamaya çalışıyordu


çalışan pod kurulumu dedi ki: [!] Proje dizininde `` Podfile '' bulunamadı.
Mohammad Mirzaeyan

@MohammadMirzaeyan varsayımı yapmışsınızdır pod initve geçerli bir Pod Dosyanız var. İddialarınızı karşılamak için yeterli bilginiz yoksa lütfen olumsuz oy vermeyin. Bahsettiğim gibi başkasının projesi olduğu için zaten PodFile'a sahibim. Senin gibi insanlar için pod kurulumunu tamamen kaldırdım.
user710907

1

Benzer hata mesajı The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Means Xcode sence plistvar invalid format content.

Bu Info.plistdosyada neyin yanlış olduğunu bulmak için dosyanın içeriğini yapıştırmanız gerekir .

Olası bir sorun, bu <key>s ve <values>s ( <array>ler, <string>s veya <bool>s) 'nin doğru eşlenmemiş olmasıdır. Örneğin:

<key>UISupportedInterfaceOrientations</key>         //<------ here is the key
<key>NSPhotoLibraryUsageDescription</key>
<key>NSCameraUsageDescription</key>
<string>Tagueo necesita usar la camara</string>
<key>NSMicrophoneUsageDescription</key>
<string>Tagueo necesita usar el microfono</string>
<array>                                            //<------ here is the value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>   //<------ please compare this key
<array>                                            //<------ please compare this value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

Sadece hareket etmen keyve bir araya valuegelmen gerekiyor

<key>UISupportedInterfaceOrientations</key>        //<------ here is the key
<array>                                            //<------ follow with the value
   <string>UIInterfaceOrientationPortrait</string>
   <string>UIInterfaceOrientationLandscapeLeft</string>
   <string>UIInterfaceOrientationLandscapeRight</string>
</array>

Bunun çok daha fazla olumlu oyu olmalı! Info.plist'imde hiçbir yerin ortasında kapatılmamış ve düz bir yanlış '<string />' etiketi vardı. Plist dosyanızı baştan sona dikkatlice kontrol edin.
Douglas Schmidt

0

Bu benim için çalışıyor Gezgininizdeki RCTWebSocket projesine tıklayın ve yapı ayarları> özel derleyici bayrakları altındaki bayrakları kaldırın görüntü açıklamasını buraya girin


0

Sorunu nasıl çözeceğimi buldum: proje yolunda yer KULLANMAYIN! 🎉 😄



0

npm installKomutu çalıştırdığınızda bir süre internet sorunu sorunu,node_modules\react-native\third-party düzgün bir şekilde indirilmiyor, bu yüzden lütfen bunun doğru şekilde indirilip indirilmediğini kontrol edin, yoksa lütfen node_modules'i kaldırın ve tekrar kurun

sonra react-native run-ios komutu çalıştır


0

Temel neden, bağlantı noktasını dağıtmanın ücretsiz olmamasıdır. Ya cihazı yeniden $ lsof -i :8081başlatırsınız ve tüm portları serbest bırakırsınız, aksi takdirde çalıştırın ve 8081 portunu işgal eden işlemi bulun. 8081 portunu kullanan işlemi çalıştırarak öldürün$ kill -9 {process_which_is_running_under_8081}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.