আমি এক্সকোডে আমার রিএ্যাক্ট নেটিভ অ্যাপটি চালানোর চেষ্টা করছি এবং আমি এই ত্রুটিটি পেতে থাকি getting কীভাবে সমস্যাটি সমাধান করা যায় তা আমি বুঝতে পারি না। কোনও পরামর্শ?
এক্সকোডে স্ক্রিন শট ত্রুটি:
আমি এক্সকোডে আমার রিএ্যাক্ট নেটিভ অ্যাপটি চালানোর চেষ্টা করছি এবং আমি এই ত্রুটিটি পেতে থাকি getting কীভাবে সমস্যাটি সমাধান করা যায় তা আমি বুঝতে পারি না। কোনও পরামর্শ?
এক্সকোডে স্ক্রিন শট ত্রুটি:
উত্তর:
নোড মডিউলগুলি মুছুন, তারপরে চালান npm install
(বা আরও ভাল এখনও সুতা) এবং সবকিছু ডাউনলোড শেষ হওয়ার পরে চালান react-native upgrade
যা আপনাকে টেমপ্লেটগুলি দিয়ে পুরানো ফাইলগুলি প্রতিস্থাপনের বিকল্প দেয়, যাতে আপনি নিজের নেটিভ নির্ভরতাগুলিকে পুনরায় সংযুক্ত করে যা কোনও প্রতিক্রিয়াভুক্ত হয় which আপনার সমস্যা ঠিক করা উচিত। অবশ্যই এক্সকোডে আপনার প্রকল্পটি পরিষ্কার করতে ভুলবেন না।
react-native upgrade
আমার সমস্ত বিল্ড সেটিংস মুছে ফেলা হয়েছে।
xcode পণ্য-> স্কিম-> পরিচালনা করুন স্কিমগুলি "প্রতিক্রিয়া" নির্বাচন করতে এবং লক্ষ্য ভাগ করে নেওয়ার জন্য সেট করতে লক্ষ্যমাত্রায় '+' ক্লিক করুন click
সকলের ক্ষেত্রে রিএ্যাক্ট নেটিভ ০.৪০.০ বা উচ্চতর ব্যবহার করা হয় , শিরোনাম আমদানিতে আরএন ০.০৪.০ থেকে বড় পরিবর্তন আসে এবং এর ফলে প্রচুর .h ফাইল ত্রুটি পাওয়া যায়নি। react-native-git-upgrade
ডিবাগ চলাকালীন আমার জন্য সমস্যাটি স্থির করে তবে রিলিজ / সংরক্ষণাগারটিতে ব্যর্থ হয়।
আমি কোকোপড এবং এক্সকোড 8.2.1 এর সাথে আরএন 0.42.3 ব্যবহার করছি
এটি পুরোপুরি ঠিক করতে এক্সকোড> পণ্য> স্কিম> সম্পাদনা প্রকল্প> এ যান
এখন প্রকল্পটি পরিষ্কার করুন এবং তৈরি করুন
অন্য কোনও পরামর্শই আমার ত্রুটিটি ঠিক করছিল না তবে এটি একটি তা করেছিল।
ios/Podfile
নিম্নলিখিত বিষয়বস্তু সহ আপনার প্রতিক্রিয়া-নেটিভ অ্যাপ্লিকেশনটির নামে একটি ফাইল তৈরি করুন :
# 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
pod install
আইওএস ফোল্ডারের ভিতরে থেকে কমান্ডটি চালান ।
এক্সকোড পুনরায় চালু করুন এবং ত্রুটিটি চলে যাওয়া উচিত।
এক্সকোডে রিয়েট বিল্ড চালানোর প্রথম চেষ্টা করার পরে আমি এই সমস্যার মধ্যে পড়েছিলাম, এবং ত্রুটিটি দূরে সরিয়ে দেওয়ার জন্য (একটি দল বাছাই এবং যথাযথ ব্যবস্থা করার পরে) আসলে আমাকে যা করতে হয়েছিল তা হ'ল। কখনও কখনও এক্সকোড ত্রুটিগুলি দেখায় যা সত্যই ত্রুটি নয় যতক্ষণ না এটি জিনিসগুলি প্রথমবার সংকলন করে এবং লিঙ্ক করে।
আমার জন্য যে সমাধানটি কাজ করে তা হ'ল React
স্কিম ভাগ করে নেওয়া।
আপনার যদি প্রতিক্রিয়া স্কিম না থাকে Selecting scheme menu -> Manage Scheme -> + -> choose React
তবে একটি নতুন তৈরি করুন , তারপরে প্রতিক্রিয়া স্কিমটিকে ভাগ হিসাবে চিহ্নিত করুন
এছাড়াও, আপনি যদি এক্সকোড 10 ব্যবহার করেন তবে যান File -> Project Settings
এবং লিগ্যাসি বিল্ড সিস্টেম নির্বাচন করুন
আমি নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করে এই সমস্যার সমাধান করেছি:
React.xcodeproj
থেকে টেনে আনুন Libraries
।SaleKit
) ক্লিক করুনTARGETS
Build Phases
Target Dependencies
অ্যাড ড্রপডাউন ইনReact
ReactNative "0.54.2" এ আমার ক্ষেত্রে, আমি নিম্নলিখিত সমাধান দিয়ে সমাধান করেছি
এক্সকোডে নির্বাচন করুন Product->Scheme->Manage Schemes
, 'আপনার প্রজেক্ট'-টিভিএস আনটিক করুন শেয়ার করুন না হিসাবে সেট করুন
সব থেকে ভালো সমাধান :
এক্সকোডে আপনার প্রকল্পের জন্য 'বিল্ড সেটিংস' খুলুন, 'শিরোনাম অনুসন্ধানের পথ' অনুসন্ধান করুন।
'শিরোনাম অনুসন্ধানের পথের' পাশে ডাবল ক্লিক করুন, যেখানে অন্যান্য সম্পত্তিগুলিতে 'হ্যাঁ' বা 'না' রয়েছে
এখন "শিরোনাম অনুসন্ধানের পথে" (বিল্ড সেটিংসের অধীনে) নিম্নলিখিতগুলি যুক্ত করুন:
$(SRCROOT)/../node_modules/react-native/React
$(SRCROOT)/../node_modules/react-native/React/Base
দুজনেই ভুলে যাবেন না উভয়কে পুনরাবৃত্তি করুন।
এই ত্রুটিটি সমাধানের npm install
জন্য ইনস্টল করতে আপনার প্রকল্প ডিরেক্টরিতে চালান react-native
।
আমি চালিত প্রকল্পের বেস ডায়ারে:
node_modules/react-native/packager/packager.sh --reset-cache
যার ফলস্বরূপ:
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
আমি খুঁজে পেয়েছি যে অন্য প্যাকেজার প্রক্রিয়া চলাকালীন প্যাকেজ ম্যানেজার চলতে পারে না।
আমি প্রক্রিয়াটি এর সাথে চলতে দেখলাম:
lsof -i :8081
আমি kill 9 ...
প্রক্রিয়া চেয়ে ।
আমি এক্সকোড বন্ধ করার পরে চালাও:
npm install
এবং আবার এক্সকোড শুরু করলেন, এই মুহুর্ত থেকে প্রত্যাশার মতো সবকিছুই কাজ করে !!
আমার একই সমস্যা ছিল এবং আমি আরএনএফআইআরআইএমআইআরএমএসেজেজিংএটি প্রতিক্রিয়া / আরসিটিবান্ডেল URL সরবরাহকারীর উপরে রেখে রেখে এটি ঠিক করেছি
সুতরাং এটি দেখতে আমি দেখতে দেখতে দেখতে:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
নিম্নলিখিত চেষ্টা করুন:
আমি একই সমস্যার মুখোমুখি হয়েছি .আমি এই পদক্ষেপগুলি ব্যবহার করার জন্য নোড। চেষ্টা মুছে ফেলেছি
তারপরে বিল্ড তৈরি করে দেখুন
আমার জন্য প্রতিস্থাপন
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
দ্বারা
#import <RCTBundleURLProvider.h>
#import <RCTRootView.h>
AppDelegate.m ফাইল কাজ করে।
যদি আপনি চালনা না করেন তবে npm install
আপনি সম্ভবত এই সমস্যার মুখোমুখি হতে পারেন।
আমি উপরে উল্লিখিত সমস্ত উত্তর দিয়ে গেছে।
সমাধানটি এখানে আমার জন্য কাজ করেছে:
ধাপ 1:
চালান:
npm install react-native-fcm --save
আপনার প্রকল্পে নোড_মডিউল> প্রতিক্রিয়া-নেটিভ-এফসিএম এর অধীনে ডিরেক্টরিটি তৈরির ফলাফল
ধাপ ২:
'$(SRCROOT)/../node_modules/react-native-fcm/ios'
বিল্ড সেটিংসে আপনাকে শিরোনাম অনুসন্ধানের পথগুলিতে যুক্ত করতে হবে।
এই 2 টি পদক্ষেপটি ত্রুটিটি সরাতে আমার পক্ষে কাজ করেছিল।
আরও তথ্যের জন্য আপনি এই লিঙ্কগুলির মাধ্যমে যেতে পারেন:
আমার ক্ষেত্রে, আমি নোড_মডিউলগুলি মুছে ফেলতে এবং পুনরায় ইনস্টল করতে পারিনি এবং আমিও করতে পারিনি react-native-git-updgrade
বা react-native upgrade
কারণ আমি আরএন -০.০৯ এ থাকতে চেয়েছিলাম কারণ .60 আমার নির্ভরতাগুলির জন্য সমস্যা তৈরি করে।
যাইহোক আমার পরিস্থিতিটি হ'ল আমি 'প্রতিক্রিয়া / আরসিটিবান্ডেল URL সরবরাহকারীর' ফাইলটি অনুপস্থিত। আমি আমার স্কিমায় ইতিমধ্যে প্রতিক্রিয়া উপলব্ধ ছিল। এটি আমার লাইব্রেরি ডিরেক্টরিতে ছিল না। আমি আমার টার্গেটের বিল্ড সেটিংস পরীক্ষা করেছি ।
লক্ষ্য নির্ভরতা ভিতরে, আমি সেখানে প্রতিক্রিয়া ছিল।
আমি 'প্রতিক্রিয়া' লক্ষ্য নির্ভরতা মুছে ফেলেছি, তারপরে পুনরায় যুক্ত করা হয়েছে। বিল্ড ফোল্ডারগুলি পরিষ্কার, পুনর্নির্মিত প্রকল্প। এটা কাজ করেছে.
আমি রিএ্যাক্ট নেটিভ 0.61 ব্যবহার করছি। আমি একটি শেয়ার এক্সটেনশন তৈরি করেছি এবং এই ত্রুটিটি পাচ্ছি। আমার প্রতিস্থাপন করা দরকার:
#import "RCTBundleURLProvider.h"
সঙ্গে
#import "React/RCTBundleURLProvider.h"
টার্মিনাল রান এ আপনাকে রিএ্যাক্ট নেটিভ ইনস্টল করতে হবে
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
তারপর
brew install node
brew install watchman
npm install -g react-native-cli
উত্স: https://facebook.github.io/react-native/docs/getting-st সূত্র
html
আপনার প্রকল্পের পথে কোনও জায়গা না থাকার বিষয়টি নিশ্চিত করুন। কেবল ফোল্ডারগুলির নাম পরিবর্তন করা এবং স্পেস মুছে ফেলা আমার জন্য সমস্যাটি সমাধান করে।