Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

مشکلات sdk با react native & expo + راه حل ها #27

Open
farbod302 opened this issue Sep 9, 2023 · 2 comments
Open

مشکلات sdk با react native & expo + راه حل ها #27

farbod302 opened this issue Sep 9, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@farbod302
Copy link

farbod302 commented Sep 9, 2023

شرح باگ در پلاگین:

اخیرا می خواستم از sdk تپسل روی react native که با expo لانچ شده بود استفاده کنم
یک سری ایراداتی داشت که حلشون کردم گفتم برای دوستان دیگه هم بزارم چون دیگه الان ۹۰% برنامه نویسای react native از expo استفاده می کنند

متن کامل خطا یا لاگ مرتبط به طور کامل:

۱- شناخته نشدن react native توسط کتابخانه Tapsell
۲-کانفلیکت dependency ها در زمان build

راه حل ها:

۱-اگر از اکسپو استفاده می کنید بعد از نصب sdk برنامه شما کلا نمیتونه با اون ارتباط برقرار کنه و هیچ فانکشنی از TapsellPlus رو نمیتونید کال کنید
دلیلش هم مرج نشدن خود پکیج react native با sdk هستش
برای حل این مشکل باید متد prebuild رو ران کنید
متد pre build همون eject سابق هستش و غیر قابل برگشته
پس قبلش حتما یک بک آپ از پروژتون بگیرید

npx expo prebuild

توجه کنید که بعد از prebuild برای اجرا کردن برنامه روی امولیتور یا expo go نیاز به اندروید استودیو برای بیلد دارید
پس بزارید آخر سر این کارو بکنید چون زمان بیلد گرفتن طولانی تر میشه و .APK خروجی شما حجمش بیشتر میشه
بعد از prebuild بیلد شما همچنان توسط expo انجام میشه ولی نیاز به SDK های اندروید دارید

۲-حتما در زمان نصب sdk با این ارور برخورد کردید

npm ERR! peer `react-native`

در زمان بیلد هم وقتی expo میخواد پکیجارو نصب کنه به این ارور میخورید و build شما fail میشه
راه حل:
در پوشه اصلی برنامه یک فایل بسازید به عنوان .npmrc (اولش نقطه داره)
.npmrc
و این تکه کد رو داخلش قرار بدید
legacy-peer-deps=true

اگر به مشکل دیگه ای خوردید زیر همین issue برام بنویسید
از تیم tapsell هم خواهش دارم این داکیومنتارو به سایتشون اضافه کنند چون من الان سه روزه درگیر حل این دوتا مشکل سادم

@farbod302 farbod302 added the bug Something isn't working label Sep 9, 2023
@MSehati
Copy link

MSehati commented Sep 20, 2023

سلام
یعنی با توجه به توضیحاتی که شما دادید برای گرفتن release نهایی هم باید با اندروید استودیو ریلیز خروجی نهایی را تولید کنید با expo-cli و سایت خود expo نمیشه؟ درسته؟

@farbod302
Copy link
Author

farbod302 commented Sep 20, 2023

سلام یعنی با توجه به توضیحاتی که شما دادید برای گرفتن release نهایی هم باید با اندروید استودیو ریلیز خروجی نهایی را تولید کنید با expo-cli و سایت خود expo نمیشه؟ درسته؟

بیلد های شما همچنان توسط expo انجام میشه و از طریق سایت هم امکان پذیره
ولی دو نکته وجود داره
قبل از prebuild کردن پروژه,شما نیاز به SDK های اندروید برای ران کردن برنامه روی امولیتور ندارید اما اگر prebuild بگیرید برای باز کردن اپ روی گوشی یا امولیتور (یعنی در زمان develop) expo ازتون آدرس sdk هارو میخواد در نتیجه نیاز به نصب اندروید استودیو دارین

موضوع دوم این هستش که فایل .npmrc که ما ساختیم برای رفع مشکل SDK تپسل زمان بیلد گرفتن داخل سایت Expo شناخته نمیشه
به طور کلی بعد از prebuild میتونید روی سایت expo بیلد بگیرید ولی اگر SDK تپسل رو دارید مجبورید اپتون رو لوکال بیلد بگیرید
eas build -p android --local

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants