আমি যখন একটি প্রতিক্রিয়া-নেটিভ প্রকল্প পরিচালনা করি, তখন আমি একটি ত্রুটি no bundle URL present
পাই, তবে আমি কী ভুল করি তা জানি না, আমি খুব বিভ্রান্ত হয়ে পড়েছিলাম।
rm -rf ios/build/
watchman watch-del-all
আমি যখন একটি প্রতিক্রিয়া-নেটিভ প্রকল্প পরিচালনা করি, তখন আমি একটি ত্রুটি no bundle URL present
পাই, তবে আমি কী ভুল করি তা জানি না, আমি খুব বিভ্রান্ত হয়ে পড়েছিলাম।
rm -rf ios/build/
watchman watch-del-all
উত্তর:
ত্রুটিটি এর No bundle URL present
দ্বারা সমাধান করুন :
rm -rf ios/build/; kill $(lsof -t -i:8081); react-native run-ios
echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc; source ~/.bashrc
এখন আপনি রিয়েট নেটিভ আইওএস বিল্ড চালাতে পারেন (মৃত্যুর কিছু সাধারণ লাল ত্রুটির স্ক্রিনের উদ্বিগ্ন না হয়ে) একটি সাধারণ ওরফে শর্টকাট দিয়ে:
rni
আমি কেবল এই সমস্যার মধ্যে পড়েছি (প্রথমবারের সাথে প্রতিক্রিয়া নেটিভ দিয়ে শুরু করলাম)। যখন কোনও আইওএস সিমুলেশন ( react-native run-ios
) চলছিল তখন - আমি দৌড়ে গিয়েছিলাম npm install
এবং তখন react-native run-ios
আবার সমস্যাটি অদৃশ্য হয়ে গেল । টার্মিনাল উইন্ডোতে, এটি দেখিয়েছিল যে এটি বান্ডিল করছে এবং তারপরে সিমুলেটর স্বাগত স্ক্রিনটি দেখিয়েছিল।
react-native init PropertyFinder
লাইনের পরে চেষ্টা করার পরে সংযোগের জন্য এই লিঙ্কটি দেখুনnpm start
(এটি আমার জন্য কাজ করে)
================================================== ======================
16.9 এর জন্য আপডেট করুন
আমার পোর্ট 8081 ম্যাকাফি দ্বারা অবরুদ্ধ ছিল। সরাসরি একটি ভিন্ন বন্দর ব্যবহার করা কাজ করছে না react-native start --port=8082
এবংreact-native run-ios --port=8082
এখানে প্রদত্ত প্রায় সমস্ত সমাধান চেষ্টা করে। কিন্তু কিছুই কার্যকর হয়নি।
"react": "16.9.0",
"react-dom": "^16.12.0",
"react-native": "0.61.5",
সমাধান:
এক্সকোডে 8081 এর জন্য অনুসন্ধান করা হয়েছে এবং তাদের সকলকে 8082 দিয়ে প্রতিস্থাপন করেছেন Then তারপরে অ্যাপ্লিকেশনটি তৈরি এবং চালানোর জন্য একই কমান্ডগুলি চালান। অ্যাপটি সুচারুভাবে কাজ করে
react-native start --port=8082
react-native run-ios --port=8082
আমার অ্যাপটি বান্ডিল করার সময়ও একই সমস্যা ছিল। main.jsbundle
আপনার মূল প্রকল্পে লক্ষ্যযুক্ত কিনা তা পরীক্ষা করে দেখুন
ত্রুটি বার্তায় নির্দেশিত হিসাবে:
এক্সকোড / আইওএস লাইসেন্সের সাথে সম্মত হওয়ার জন্য অ্যাডমিন সুবিধাগুলি প্রয়োজন, দয়া করে "সুডো এক্সকোডবিল্ড-লাইসেন্স" চালান এবং তারপরে এই আদেশটি আবার চেষ্টা করুন।
নিম্নলিখিত কমান্ড চালানো কাজ করেছে:
sudo xcodebuild -license
এই সমস্যাটি তখন ঘটে যখন আপনি লোকালহোস্টের মাধ্যমে অনিরাপদ সংযোগগুলিকে মঞ্জুরি দেবেন না বা আপনি http এর মাধ্যমে অনিরাপদ সংযোগগুলি গ্রহণ করার চেষ্টা করেছেন।
এটি ঠিক করতে, এটি যুক্ত করুন info.plist
:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
localhost
আমার স্থানীয় নেটওয়ার্ক ঠিকানা থেকে ইনফো.প্লেস্টে পরিবর্তন করেছি এবং সে কারণে এটি সমাধান হয়নি। আমি ব্যতিক্রম ডোমেন হিসাবে 'লোকালহোস্ট' এর জন্য একটি ব্লক যুক্ত করেছি এবং এটি কার্যকর হয়েছে।
আপনার সিমুলেটর এবং টার্মিনালটি বন্ধ করুন। নতুনটি খুলুন এবং আপনার প্রকল্পে যান, তারপরে আপনার প্রতিক্রিয়া-স্থানীয়কে এটি আপগ্রেড করুন:
react-native upgrade
ইস্যু করা: বান্ডিলটি কার্যকর করতে ব্যর্থ হলে আরসিটিফ্যাটালে অসীম পুনরাবৃত্তি ।
কারণ:
অ্যাপ্লিকেশনটি সার্ভারটি (যা ইউআই পরিবেশন করে - জাভাস্ক্রিপ্ট কোড দ্বারা) সন্ধান করতে পারে না কারণ এটি।
সমাধান:
npm run start
বা yarn start
প্রথমLoading dependency graph, done.
)react-native run-ios/android
ব্যাখ্যা:
নেটিভ প্রতিক্রিয়া 2 অংশ নিয়ে আসে:
কমান্ডগুলি তৈরি করুন:
react-native run-ios/android
নেটিভ অংশটি তৈরি করে তারপরে ডিভাইসগুলিতে স্থাপন করা এবং ডিভাইসগুলিতে অ্যাপ্লিকেশন শুরু করা (সিমুলেটর / এমুলেটর / রিয়েল ডিভাইস)। এটি শেষ করতে সাধারণত 3 ~ 4 মিনিট সময় নেয়।
npm run start
অথবা yarn start
জাভাস্ক্রিপ্ট অংশটি তৈরি করতে এবং অ্যাপ্লিকেশনটিতে নির্মিত UI পরিবেশন করতে ডেভ সার্ভারটি শুরু করতে হবে। এটি শেষ করতে সাধারণত 30 সেকেন্ড সময় নেয়।
=> সাধারণত, জাভাস্ক্রিপ্ট অংশটি প্রথমে শেষ হয়েছিল তার পরে স্থানীয় অংশটি পরে এসেছিল। (তারা ব্যবহৃত সময়ের উপর ভিত্তি করে)।
=> এটি প্রথমবারের জন্য (নতুন বিল্ড) নির্মাণের ক্ষেত্রে কেবল সত্য।
=> পুনর্নির্মাণের জন্য:
নেটিভ অংশটি পরিবর্তনগুলি পরীক্ষা করতে 10 ~ 15 সেকেন্ড সময় নিয়েছিল এবং জাভাস্ক্রিপ্ট অংশটি তৈরি এবং পরিবেশনার আগে নেটিভ অংশ => এর জন্য কোনও পরিবর্তন করা হয়নি। (আমি নিশ্চিত নই যে জাভাস্ক্রিপ্ট অংশটি পুনর্নির্মাণ হয়েছে বা না তবে দেশীয় অংশের তুলনায় এটি অনেক সময় নিয়েছে)
সুতরাং যে কারণে আমরা এই সমস্যাটি পেয়েছি, অ্যাপটি চালিয়েছে এবং প্রয়োজনীয় জিনিসটি এখনও বিদ্যমান নেই।
বোনাস:
react-native run-ios/android
আপনার জন্য ডেভ সার্ভারটি স্বয়ংক্রিয়ভাবে চালু করবে।react-native run-ios/android
ঠিক পেছনে react-native init <app_name>
ছুটে এসেছিলেন, সবকিছু ঠিকঠাক চলছিল। (কারণ অটো স্টার্ট বৈশিষ্ট্য এবং সময়টিকে উপরের রাজ্য হিসাবে নতুন করে তৈরি করার জন্য সময় নেওয়া হয়েছিল)।এই উত্তরে ব্যবহৃত সময়টি আমার মেশিনের সাথে তুলনামূলক ছিল => অন্যের চেয়ে আলাদা হতে পারে।
এই কোডটি চালানোর চেষ্টা করুন:
$ sudo xcodebuild -license
এটি সমস্যার সমাধান করতে পারে। এটি আমার পক্ষে কাজ করে।
আমার একই ত্রুটি ছিল এবং কেবল এক্সকোডের মাধ্যমে অ্যাপটি চালাতে সক্ষম হয়েছি। react-native run-ios
এটা কাজ করছে না. সমস্যাটি সমাধান করার জন্য আপনাকে এখানে build
ফোল্ডারটি সরিয়ে ফেলতে হবে YOUR_PROJECT/ios/build/
। এর পরে আপনার অ্যাপ্লিকেশনটি react-native run-ios
আবার চালাতে সক্ষম হওয়া উচিত । আশাকরি এটা সাহায্য করবে.
বেশিরভাগ ক্ষেত্রেই সমস্যাটি দেখা দেয় যখন ডিএনএস লুপ / আইপি লুকোচুরি লোকালহোস্ট খুঁজতে ব্যর্থ হয়।
সমাধান:
আপনার ইত্যাদি হোস্ট ফাইলে লোকালহোস্ট আইপি যুক্ত করার চেষ্টা করুন।
আপনি আপনার ইত্যাদি হোস্ট ফাইলের (/ ইত্যাদি / হোস্ট) নীচের লাইনগুলি যুক্ত করতে পারেন
127.0.0.1 লোকালহোস্ট
255.255.255.255 সম্প্রচারকস্ট
:: 1 লি। ocalhost
এটি ইস্যুটি নিশ্চিত করার জন্য আপনি সাফারিতে বান্ডিল ইউআরএলটিকে আঘাত করতে পারেন (আপনি যদি ক্রোমে এটি চেষ্টা করেন তবে এটি সমাধান হবে তবে সাফারি এটি সমাধান করতে সক্ষম হবে না)। HTTP: // স্থানীয় হোস্ট: 8081 / index.ios.bundle প্ল্যাটফর্ম = iOS & দেব = সত্য ও অল্প করা মিথ্যা =
আপনার এটিএস সেটিংস .plist ফাইলটিতে সঠিক কিনা তা নিশ্চিত হন।
আপনি ফাইলটি / আওস / jectপ্রজেক্ট_নেম / ইনফো.প্লেস্টে খুঁজে পেতে পারেন
লোকালহোস্টকে অবশ্যই ব্যতিক্রম অনুরোধের লক্ষ্য হিসাবে এটি সংজ্ঞায়িত করা উচিত:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
* (রিলিজ সংস্করণে এটি সরাতে ভুলবেন না ..)
আমার জন্য সমস্যাটি ছিল এটি জেএস বান্ডিল তৈরি করতে পারে না। এটি এক্সকোড থেকে বিল্ড করার সময় ত্রুটিটি বর্ণনা করে না তাই এটি জানার কোনও উপায় নেই। ত্রুটিটি খুঁজে পেতে নিম্নলিখিত কমান্ডটি চালান।
react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle
আমার জন্য ত্রুটিটি নিখোঁজ পিওরেন্ডারমিক্সিন উপাদানটি ছিল। যার সমাধানটি এখানে পাওয়া যাবে: https://github.com/facebook/react-native/issues/13078 । মূলত আপনাকে ম্যানুয়ালি ইনস্টল করতে হবে react@16.0.0-alpha.3। এটি এই কমান্ডটি চালানোর মাধ্যমে করা যেতে পারে।
npm i --save react@16.0.0-alpha.3
এই সমস্যাটি এখন সবার জন্য ঘটছে কারণ প্রতিক্রিয়ার আলফাগুলির নতুন সংস্করণ প্রকাশিত হচ্ছে (বিশেষত আলফা 5) এবং তারা প্রতিক্রিয়া-দেশীয় বিল্ডগুলি ভেঙে দিচ্ছে।
"plugins": ["transform-decorators-legacy"]
আপনার .babelrc ফাইলটিতে যুক্ত করার চেষ্টা করুন। অথবা এটি সংযুক্ত এইচওসি দিয়ে চেষ্টা করুন।
The node type SpreadProperty has been renamed to SpreadElement
এবং এর @babel
ভিতরে উল্লেখযোগ্য লাইব্রেরি node_modules
, আমি এটিকে সম্বোধন করে এমন কিছুই পাই নি has
সমাধান ->
npm start
তারপরে নতুন টার্মিনালটি খুলুন এবং আপনার প্রকল্পের পথে যান এবং তারপরে আঘাত করুন
react-native run-ios
এটি আমার পক্ষে কাজ করে
এটি আমার জন্য কী সমাধান করেছে:
cd
মধ্যে YOUR_PROJECT/ios
rm -r build
react-native run-ios
আবার দৌড়াওবিকল্পভাবে, আপনি ফাইন্ডার খুলতে, নেভিগেট করতে YOUR_PROJECT/ios
এবং build
ফোল্ডারটি মুছতে পারেন ।
তারপরে react-native run-ios
আবার দৌড়াও ।
সূত্র: অ্যান্ড্রু ব্যানক্রফ্ট
এটি প্রতিক্রিয়াভিত্তিক v0.42.1 এর সাথে একটি সমস্যা। সমস্ত টার্মিনাল এবং এক্সকোড দৃষ্টান্ত বন্ধ করে চালানোর চেষ্টা করুন:
launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist
watchman version
react-native run-ios
প্রথমে সিমুলেটরটি বন্ধ করুন, তারপরে এগুলি টার্মিনালে চালান
npm install
react-native run-ios
টার্মিনালটিতে কেবল চালান react-native start
:
cd your react native app directory/ react-native start
এটি প্যাকেজারটি শুরু করবে, এখন এই টার্মিনাল উইন্ডোটি বন্ধ করবেন না, অন্য কোনও টার্মিনাল উইন্ডোতে আপনার প্রকল্প চালান। এটি কেবলমাত্র এটিই আমি এটি সঠিকভাবে কাজ করতে পেলাম।
সিমুলেটার (2 এক্স Cmd + Shift + H
) এর মধ্যে অ্যাপটি থেকে বেরিয়ে আসা এবং পুনরায় চালু করার জন্য আমি বাইপাস করার সহজতম / দ্রুততম উপায়টি খুঁজে পেয়েছি ।
আমার এই একই সমস্যা ছিল। তবে আমার সমস্যাটি ছিল আমার ম্যাক এবং আইফোন একই ওয়াইফাই নেটওয়ার্কে ছিল না।
সুতরাং নিশ্চিত হয়ে নিন যে তারা সবাই একই নেটওয়ার্কে রয়েছে এবং আবারও এটি পুনর্নির্মাণ করে। যদি এটি না হয় তবে অন্যান্য সদস্যদের দ্বারা উল্লিখিত সমাধানগুলি এখানে চেষ্টা করুন।
আপনার নেটওয়ার্ক প্রক্সি পরীক্ষা করুন, ভাল এটি বন্ধ করুন down
অথবা আপনার প্যাকেজার সার্ভারটি বজায় রাখার জন্য অন্য কোনও উপায় খুঁজে পাওয়া উচিত
আমার ম্যাকটি পুনরায় চালু করার পরে এটি আমার কাছেও ঘটেছে। আপনি যখন সিমুলেটারে অ্যাপ্লিকেশন চালান তখন লঞ্চপ্যাকগার টার্মিনাল উইন্ডোটি খোলা থাকে। আমি সেই উইন্ডোটি বন্ধ করে দিয়ে প্রক্রিয়াটি শেষ করে দিয়েছি (আমি সিমুলেটরটি বন্ধও করেছি), তারপরে আবার চালান native দেশীয় রান-আইওসের প্রতিক্রিয়া এবং সবকিছু ঠিকঠাক কাজ করে।
আমার ক্ষেত্রে adb
সার্ভারটি পুনরায় চালু করে সমস্যার সমাধান করা হয়েছিল :adb kill-server && adb start-server
আমার কাছেও এই সমস্যাটি ঘটেছিল ... সমস্যাটি ছিল প্যাকারটি চলছিল না বলে মনে হয়েছিল সম্ভবত আমার ডিফল্ট শেলটি zsh ছিল। নতুন টার্মিনাল উইন্ডোটি খুলতে এবং চালনা করতে দেশীয় টায়ারের প্রতিক্রিয়া জানান .../node_modules/react-native/packager/launchPackager.command
তবে এটি চালিত হয়নি didn't ম্যানুয়ালি চালানো (এবং এটি চালিয়ে রাখা) এটি আমার জন্য স্থির করে।
আপনার 'লোকালহোস্ট' কীটি এন.এসইএক্সসেপশনডোমাইনস তথ্য.পরে তালিকাতে পরীক্ষা করুন
যদি এটি বিদ্যমান না থাকে তবে এটি ত্রুটির সৃষ্টি করে।
ধরে নিই যে আপনি ব্যবহার করছেন nvm
এবং নোডের একাধিক সংস্করণ ইনস্টল হয়েছে, এখানে সমাধানটি এখানে দেওয়া হয়েছে:
npm install -g react-native-cli
করছেন node v6.9.5
। node v6.9.5
চালিয়ে ডিফল্ট হিসাবেnvm alias default 6.9.5
react-native run-ios
সমস্যাটি হ'ল, নোডের মাধ্যমে আপনার একাধিক সংস্করণ ইনস্টল রয়েছে nvm
এবং ইনস্টল করার জন্য react-native-cli
আপনি নোডের সর্বশেষ সংস্করণটি স্যুইচ বা ইনস্টল করেছেন যা nvm
এখনও পয়েন্ট করতে ডিফল্ট নোড হিসাবে চিহ্নিত নয় । আপনি এটি চালানোর সময় react-native run-ios
অন্য একটি নতুন টার্মিনাল উইন্ডো খোলে যেখানে ডিফল্টরূপে nvm
আপনি ইনস্টল করা নোড সংস্করণটির দিকে নির্দেশ করা হয় না react-native-cli
। কেবল উপরের সেটআপটি অনুসরণ করুন, আমি আশা করি যে এটি সাহায্য করবে।
আপনার প্রকল্পে .jsbundle রয়েছে তা নিশ্চিত করুন
যোগ
react-native bundle --dev false --entry-file index.js --bundle-output ios/main.jsbundle --platform ios
আপনার প্রতিক্রিয়া নেটিভ কোডে প্রকল্পটি আবার খোলার চেষ্টা করুন
আমি সাথে কাজ করছি RN 0.49.5
। আমি প্রচুর পদ্ধতি চেষ্টা করেছি, কিন্তু কেউ কাজ করে না। অবশেষে আমি এই কাজ করে। এটি সহজ এবং সহজ।
মূল ধারণা পরিবর্তন হয় localhost
থেকে 127.0.0.1
, কিন্তু এটি যেখানে আরএন আপনি বলে নয়। এটি আরসিটিবান্ডেল URL সরবরাহকারী.এম # - (BOOL) এ রয়েছে প্যাকারআরুনিং: (এনএসএসআর্টিং *) হোস্ট ।
কোডের পরিবর্তনগুলি:
oc
- NSString *host = ipGuess ?: @"localhost";
+ NSString *host = ipGuess ?: @"127.0.0.1";
এটি সিমুলেটারের জন্য ঠিক। যদি এটি ডিভাইস হয়, কেবল আপনার মেশিনের আইপি ঠিকানাটি পরিবর্তন করুন।
আর একটি জিনিস যা আমার পক্ষে কাজ করছে তা হ'ল এক্সকোডে প্রকল্পটি খুলুন এবং তারপরে এটি পরিষ্কার করে তৈরি করুন। সাধারণত এটি প্যাকেজিং সার্ভারটি পুনরায় চালিত করে এবং সমস্যার সমাধান করে।
নীচের আদেশটি কার্যকর করুন:
killall -9 node
rm -rf ios/build
react-native run-ios
এটি লঞ্চপ্যাকাগের.কম চালু করবে এবং অ্যাপ্লিকেশনটি আইওএস সিমুলেটারে ইনস্টল হবে