Tôi đang cố gắng chạy ứng dụng React Native của mình trong XCode và tôi tiếp tục gặp lỗi này. Tôi không thể tìm ra cách giải quyết vấn đề. Bất kỳ đề xuất?
Ảnh chụp màn hình lỗi trong XCode:
Tôi đang cố gắng chạy ứng dụng React Native của mình trong XCode và tôi tiếp tục gặp lỗi này. Tôi không thể tìm ra cách giải quyết vấn đề. Bất kỳ đề xuất?
Ảnh chụp màn hình lỗi trong XCode:
Câu trả lời:
Xóa các mô-đun nút, sau đó chạy npm install
(hoặc tốt hơn là sợi) và sau khi mọi thứ đã tải xuống xong, hãy chạy react-native upgrade
để cung cấp cho bạn tùy chọn thay thế các tệp cũ bằng các mẫu, bằng cách thực hiện lại liên kết phụ thuộc gốc của bạn trong phản ứng gốc nên khắc phục vấn đề của bạn. Tất nhiên đừng quên làm sạch dự án của bạn trong Xcode.
react-native upgrade
tất cả các cài đặt bản dựng của tôi đã bị xóa.
Sản phẩm xcode-> Lược đồ-> Quản lý lược đồ nhấp vào '+' tại Mục tiêu để chọn "Phản ứng" và đặt Phản ứng được chia sẻ.
Đối với tất cả những người đang sử dụng React Native 0.40.0 trở lên, Nhập khẩu tiêu đề có một thay đổi lớn từ RN 0.40.0 và dẫn đến rất nhiều tệp .h không tìm thấy lỗi. react-native-git-upgrade
đã khắc phục sự cố cho tôi khi đang gỡ lỗi nhưng quá trình xây dựng không thành công trong việc phát hành / lưu trữ.
Tôi đang sử dụng RN 0.42.3 với cocoapods và Xcode 8.2.1
Để khắc phục hoàn toàn việc này, hãy truy cập Xcode> Sản phẩm> Lược đồ> Chỉnh sửa lược đồ>
Bây giờ làm sạch dự án và xây dựng
Không có đề xuất nào khác sửa lỗi của tôi nhưng điều này đã làm điều đó.
Tạo một tệp có tên ios/Podfile
bên trong ứng dụng gốc phản ứng của bạn với các nội dung sau:
# You Podfile should look similar to this file. React Native currently does not support use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target '<YOUR_APP_NAME>' do
# Fixes required for pod specs to work with rn 0.42
react_native_path = "../node_modules/react-native"
pod "Yoga", :path => "#{react_native_path}/ReactCommon/yoga"
pod "React", :path => react_native_path, :subspecs => [
'Core',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket'
]
pod 'GoogleMaps' # <~~ remove this line if you do not want to support GoogleMaps on iOS
# when not using frameworks we can do this instead of including the source files in our project (1/4):
# pod 'react-native-maps', path: '../../'
# pod 'react-native-google-maps', path: '../../' # <~~ if you need GoogleMaps support on iOS
end
Chạy lệnh pod install
từ bên trong thư mục ios.
Khởi động lại XCode và lỗi sẽ biến mất.
Tôi gặp phải vấn đề này sau lần thử đầu tiên chạy bản dựng React trong XCode và tất cả những gì tôi phải làm là thực sự xây dựng và chạy để làm cho lỗi không còn nữa (sau khi chọn một nhóm và cung cấp đúng cách). Đôi khi XCode hiển thị các lỗi không thực sự có lỗi cho đến khi nó biên dịch và liên kết mọi thứ lần đầu tiên.
Giải pháp phù hợp với tôi là chia sẻ React
chương trình.
Nếu bạn không có sơ đồ React, hãy tạo sơ đồ mới bằng cách Selecting scheme menu -> Manage Scheme -> + -> choose React
đánh dấu sơ đồ React là Shared
Ngoài ra, nếu bạn sử dụng Xcode 10, hãy đi tới File -> Project Settings
và chọn hệ thống xây dựng Legacy
Tôi đã giải quyết vấn đề này bằng các bước sau:
React.xcodeproj
từ Libraries
gốc của dự án.SaleKit
) trongTARGETS
Build Phases
Target Dependencies
addReact
Đối với trường hợp của tôi trong ReactNative "0.54.2", tôi đã giải quyết nó bằng giải pháp sau
Trong Xcode chọn Product->Scheme->Manage Schemes
, bỏ chọn 'YourProject'-tvOS đặt thành không chia sẻ
Giải pháp tốt nhất :
Mở 'Build Settings' cho dự án của bạn trong Xcode, tìm kiếm 'Đường dẫn tìm kiếm tiêu đề'.
Nhấp đúp vào bên cạnh 'Đường dẫn tìm kiếm tiêu đề', trong đó các thuộc tính khác có 'có' hoặc 'không'
Bây giờ thêm theo sau vào "Đường dẫn tìm kiếm tiêu đề" (trong Cài đặt bản dựng):
$(SRCROOT)/../node_modules/react-native/React
$(SRCROOT)/../node_modules/react-native/React/Base
Đừng quên Làm cho cả hai đệ quy.
Chạy npm install
trong thư mục dự án của bạn để cài đặt react-native
giải quyết lỗi này.
Trong thư mục cơ sở của dự án tôi chạy:
node_modules/react-native/packager/packager.sh --reset-cache
Kết quả là:
Scanning 554 folders for symlinks in /Users/..../work/..../react_tutorial/AwesomeProject/node_modules (15ms)
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8081. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/Users/..../work/...../react_tutorial/AwesomeProject
Loading dependency graph... ERROR Packager can't listen on port 8081
Most likely another process is already using this port
Run the following command to find out which process:
lsof -i :8081
Tôi thấy rằng trình quản lý gói không thể chạy khi một quy trình đóng gói khác đang chạy.
Tôi tìm thấy quá trình chạy với:
lsof -i :8081
Hơn tôi kill 9 ...
quá trình.
Sau khi tôi đóng Xcode, hãy chạy:
npm install
Và bắt đầu lại Xcode, từ thời điểm này mọi thứ hoạt động như mong đợi !!
Tôi đã có cùng một vấn đề và tôi đã khắc phục nó bằng cách đặt RNFIRMessaging.h phía trên React / RCTBundleURLProvider.h
Vì vậy, nó trông giống như tôi:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
Hãy thử như sau:
Tôi gặp vấn đề tương tự. Tôi đã xóa nút. Hãy thử sử dụng các bước này
sau đó xây dựng và xem
Cho tôi thay thế
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
bởi
#import <RCTBundleURLProvider.h>
#import <RCTRootView.h>
trong tệp AppDelegate.m đã hoạt động.
Nếu bạn chưa chạy, npm install
bạn có thể gặp phải vấn đề này.
Tôi đã trải qua tất cả các câu trả lời được đề cập ở trên.
Đây là giải pháp hiệu quả với tôi:
BƯỚC 1:
Chạy:
npm install react-native-fcm --save
Điều này dẫn đến việc tạo thư mục trong dự án của bạn dưới node_modules> Reac -igen-fcm
BƯỚC 2:
Bạn cần thêm '$(SRCROOT)/../node_modules/react-native-fcm/ios'
vào đường dẫn tìm kiếm tiêu đề trong cài đặt bản dựng.
2 bước này đã giúp tôi loại bỏ lỗi.
Để biết thêm chi tiết, bạn có thể đi qua các liên kết sau:
Đối với trường hợp của tôi, tôi không thể xóa node_modules và cài đặt lại và tôi cũng không thể làm react-native-git-updgrade
hoặc react-native upgrade
vì tôi muốn ở lại RN-0.59 vì .60 gây ra sự cố cho các phụ thuộc của tôi.
Dù sao, tình huống của tôi là tôi đã thiếu tệp 'React / RCTBundleURLProvider.h'. Tôi đã có sẵn React trong lược đồ của mình. Nó không có trong thư mục thư viện của tôi. Tôi đã kiểm tra cài đặt bản dựng của mục tiêu .
Bên trong các mục tiêu phụ thuộc, tôi cũng có React trong đó.
Tôi đã xóa phụ thuộc mục tiêu 'Phản ứng', sau đó thêm lại. làm sạch thư mục xây dựng, xây dựng lại dự án. nó đã làm việc.
Tôi đang sử dụng React Native 0.61. Tôi đã tạo Phần mở rộng chia sẻ và nhận được lỗi này. Tôi cần phải thay thế:
#import "RCTBundleURLProvider.h"
với
#import "React/RCTBundleURLProvider.h"
bạn cần cài đặt phản ứng tự nhiên, trong thiết bị đầu cuối chạy
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
sau đó
brew install node
brew install watchman
npm install -g react-native-cli
nguồn:
https://facebook.github.io/react-native/docs/getting-started.html
Hãy chắc chắn rằng đường dẫn đến dự án của bạn không có bất kỳ khoảng trống nào. Chỉ cần đổi tên thư mục và xóa khoảng trắng sẽ giải quyết vấn đề cho tôi.