اذهب إلى المحتوى

Flutter Dev

الأعضاء
  • المساهمات

    787
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    2

أجوبة بواسطة Flutter Dev

  1. تحيه طيبه 

    سابقا قمت برفع تطبيقي على سوق جوجل بلاي وكان يظهر في البحث 

    ولكن قمت بعمل الغاء نشر بسبب فقدي لملف keystore وقمت باعادة نشر تطبيقي من جديد 

    المشكله الان تم الموافقه على تطبيقي ولكن لما اعمل بحث من خلال اسم التطبيقي لا يظهر لي 

    يظهر في حالة واحده في حالة قمت بالبحث باسم المطور او اسم حسابي في جوجل بلاي حساب المطورين 

     

    كيف يمكن حل هذا المشكله وجعل التطبيق يظهر من خلال البحث عن اسمه مع العلم انني قمت بتسجيل اسم التطبيقي في الماركة عربي+ انجليزي 

     

    اذا احدث واجه مثل هذا المشكله سابفا ارجو الافاده

    • أعجبني 1
  2. بتاريخ 30 دقائق مضت قال Mohamd Imran:

    @مروان مروان3

    سبب ذلك بالعادة هو جوجل بلاي ويبدو إنك قمت بتفعيل خاصية خدمة التوقيع الخاصة بجوجل عند عمل حساب جوجل بلاي لأول مرة الأن ما تقوم به جوجل بعد أن تقوم بتفعيل ذلك هو تقوم بتوليد keystore جديد وتقوم بإزالة المفتاح الخاص بك وإضافة ال keystore الخاص بهم لأغراض الحماية وبالنهاية يصبح تطبيقك غير موقع أو لا يملك الصلاحيات المناسبة لأنه تم توقيعه بإستخدام keystore آخر وهو الخاص بجوجل , الأن لحل المشكلة ما سنقوم به هو من Google Play Console من القائمة اليمني "للغة الإنجليزية" إضغط على "Release Management" ثم  إذهب إلى 
     App signing -> App signing certificate
    أرفقت صورة للمسار أعلاه في Google Play Console
    imageproxy.php?img=&key=e4ac65570db3469dzaOXL.thumb.png.1c79e9412e58a1c9205b15acc69eefcf.png


    وقم بنسخ المفتاح SHA-1 أو SHA-256  وأيضاً نسخ مفتاح SHA-1 الخاص بقسم "Upload Certificate" ثم أضفهن جميعاً في ال firebase console بعد ذلك قم بتنزيل ملف google-services.json الجديد وأضفه إلى التطبيقك وقم بعمل نسخة جديدة من التطبيق بنفس ال keystore الذي إستخدمته عند رفع أو نسخة من التطبيق أو النسخة المرفوعة حالياً على المتجر بعد ذلك سيعمل معك تسجيل الدخول كما في السابق 

    مرحبا اخي الكريم 

    نعم طريقتك فعاله انا قمت بنسخ المفتاح فقط ولصقه في جوجل فايربيز مع المفاتيح السابقه واصبح يعمل حتى بدون لا اقوم بتنزيل ملف جوجل من جديد الى التطبيق ولله الحمد 

     

    كل الشكر لك الغالي 

    • أعجبني 1
  3. تحيه طيبه للجميع

    قمت بستعمل الدخول بواسطة جوجل وربط تطبيقي لدى firebase

    المشكله انني لو قمت بتنصيب التطبيق من الحاسوب الى هاتفي الحقيقي تسجيل دخلو يعمل بشكل ممتاز

    ولكن بعد رفع التطبيق على الماركة جوجل بلاي لا يعمل تسجيل دخول 

    مع العلم انني متاكد من اضافة SHA-1 ---SHA-256 نسخة release

    وقمت بتجربة اضافة ديباج ايضا ولكن بدون فائده المشكله مستمره 

    اقوم باخراج النسخة النهائية من تطبيقي بشكل التالي:

    flutter build appbundle --obfuscate --split-debug-info=/build/app/outputs/bundle/release

     

    وقمت بتجربة تغير مشرعي على الجوجل فايربيز ولكن ايضا المشكله مستمره فقط في نسخة جوجل بلاي

    ياليت اذا فيه من صادف هذا المشكله من قبل فيدنا بالحل لها  

    • أعجبني 1
  4. تحيه طيبه للجميع

    قمت بتغير ملف keystore ولكن بعد التغير اصبحت احصل على الرسالة التاليه مع محاولة تحديث التطبيق على الجوجل بلاي :

    • Your Android App Bundle is signed with the wrong key. Ensure that your App Bundle is signed with the correct signing key and try again. Your app bundle is expected to be signed with the certificate with fingerprint:

      هل يوجد حل لتحديث التطبيق في هذا الحالة ؟ مع العلم انني لا استطيع الرجوع الى الملف السابق keystore وارغب بستعمال الملف الجديد 

    • أعجبني 1
  5. بتاريخ الآن قال بلال زيادة:

    يمكنك استخدام خاصية Crashlytics بحيث هذه الميزة تساعدك على جمع التحليلات و التفاصيل حول الأعطال و الأخطاء التي تحدث في تطبيقك. و يمكنك استخدام حزمة 

    
    flutter_crashlytics

    يمكنك من خلال موقع pub.dev من هنا الإطلاع على هذه الحزمة , ايضا هناك تعمل بنفس الفكرة و منها موقع sentry.io و يقدم خدمة تتبع الأخطاء في التطبيق الخاص بك ايضا عن طريق حزمة 

    
    sentry_flutter

    من هنا , بحيث أيضا تقدم لك سجلاً كامل بكل الأخطاء و المشاكل التي تواجه المستخدمين عند استخدام تطبيقك.

     اهلا بك اخي الكريم

    شاكر لك مساعدتك اخي

    استفسار فقط لو تكرمت الا يوجد طريقة مثل الوضع الافتراضي ؟ بمعنى التطبيق متوفر الان على الجهاز وانا رابط الجهاز من خلال usb لدى الحاسوب وشغال على اندرويد ستوديو الا يمكن اظهار الاخطاء في الاندرويد ستوديو نافذة  run   في هذا الحالة؟

    • أعجبني 1
  6. تحيه طيبه للجميع

    بعد رفع تطبيقي على الماركة جوجل بلاي وقمت بتحميله الى هاتفي هل يمكن التحقق من اخطاء التطبيق الان من خلال الاندرويد ستوديو ؟ 

    مثلا انا قمت بتشغيل التطبيق الان وارغب بمتابعة سجل عمل التطبيق والاخطاء التي تظهر او تحدث مثل Logcat  في برمجة الجافا اندويد و تبويب run  في وقت برمجة flutter 

     تطبيقي نوع flutter 

     

     

    • أعجبني 1
  7. بتاريخ 8 ساعات قال Wael Aljamal:

    في هذه الجزء :: 

    
    com.aboutyou.dart_packages.sign_in_with_apple.SignInWithAppleCallback
        ^^^^^^^^^
        متغير حسب اسم المشروع لديك

    عدل اسم حزمة التطبيق ليتم إعادة التوجيه للبرنامج

    إن لم تعمل،

    redirectUri خطأ، أنت تعيد البيانات لرابط غير مرتبط بمشروعك أو تطبيقك، حاول متابعة التوثيق في جزء:

    
    WebAuthenticationOptions.redirectUri
    
    intent://callback?${PARAMETERS FROM CALLBACK BODY}#Intent;package=YOUR.PACKAGE.IDENTIFIER;scheme=signinwithapple;end

    *******

    في apple console حاول تحويل المشروع ل production ويجب تفعيل Sign with Apple لتعمل خارج نظام أبل بعمل تعديلات لكل من 

    •  Identifier
    • Service ID
    • glitch web app

     

    اهلا بك اخي الكريم

    شاكر لك الغالي فعلا انا كنت لم اعمل سيرفر للخدمه بعد ان قمت بعمل سيرفر في موقع ابل اصبح يعمل 

    • أعجبني 1
  8. السلام عليكم ورحمة الله وبركاته

    تحيه طيبه للجميع

    قمت بعمل كود لتسجيل الدخول من خلال حساب ابل الى التطبيق  الكود شغال لا توجد مشكله ولكني احتاج الى تمرير الايميل مثلا او الاسم بعد تسجيل دخول المستخدم بنجاح او قراتهم من خلال الامر print  ولكني حاولت فعل ذلك ولم ينجح الامر لا اعلم ما هو الخطاء ب ضبط.

    الكود المستعمل كالتالي :

     

      Future<User> signInWithApple() async {
        final rawNonce = generateNonce();
        final nonce = sha256ofString(rawNonce);
    
        try {
         
          final appleCredential = await SignInWithApple.getAppleIDCredential(
            scopes: [
              AppleIDAuthorizationScopes.email,
              AppleIDAuthorizationScopes.fullName,
            ],
            nonce: nonce,
    );
          final oauthCredential = OAuthProvider("apple.com").credential(
            idToken: appleCredential.identityToken,
            rawNonce: rawNonce,
          );
          final authResult = await _firebaseAuth.signInWithCredential(oauthCredential);
          final displayName = '${appleCredential.givenName} ${appleCredential.familyName}';
           print('ssssssssss $displayName');//========================================================
          final userEmail = '${appleCredential.email}';
          final firebaseUser = authResult.user;
          await firebaseUser.updateProfile(displayName: displayName);
          await firebaseUser.updateEmail(userEmail);
    
          return firebaseUser;
    
    
        } catch (exception) {
          print(exception);
        }
      }
    }

    كيف يمكن قراءة الايميل في هذا الحالة او الاسم؟

    مع العلم انني حاولت ذلك بشكل التالي:

       print('ssssssssss $displayName');

    كما هو واضح ايضا في الكود اعلاه ولكني احصل على null  في كل مره

    • أعجبني 1
  9. بتاريخ 3 ساعات قال Wael Aljamal:

    هل

    
    clientId: 'com.example.iphon',

    هو نفسه رقم التطبيق الذي حجزته في أبل؟

    لاحظ أنه مختلف عن اسم الحزمة:

    
    android:name="com.aboutyou.dart_packages.sign_in_with_apple.SignInWithAppleCallback"

     

    اهلا بك اخي الكريم

    حقيقه انني قمت بتغير كل البيانات وقمت بمحاولة مختلفه ولكن كل شي لم ينجح وقمت بازلته من الاندرويد فقط سوف اضعه على الايفون 

    شاكر لك مرورك اخي الكريم

  10. احاول استعمل الباكيج التالي:

    https://pub.dev/packages/sign_in_with_apple

    الحزمة شغاله لدي على هواتف الايفون ولكن الحزمة هذا تدعم تشغيلها من خلال متصفح اندرويد وتسجيل الدخول من خلالها 

    المشكله انني حاولت اقوم بذلك ولكن احصل على الخطاء التالي كما هو واضح في الصوره :

    oa8lK.thumb.png.43c0c8e57d26580d91f4b3659345c7ae.png

    لا اعلم ما هيا المشكلة بضبط ولكني اعتقد ان لدي خطاء في تعبئة البيانات بشكل المطلوب الصحيح في الخانات التاليه:

    clientId
    +
    redirectUri: Uri.parse

    شكل الكود كامل:

      webAuthenticationOptions: WebAuthenticationOptions(
              // TODO: Set the `clientId` and `redirectUri` arguments to the values you entered in the Apple Developer portal during the setup
              clientId: 'com.example.iphon',
              redirectUri: Uri.parse('https://flutter-sign-in-with-apple-example.glitch.me/callbacks/sign_in_with_apple',
              ),
    
            ),

    احتاج الى معرفة ماذا يجب ان اضع في هذا الخانات حتى يعمل الكود بشكل الصحيح؟

    من اين احصل على روابط او بيانات الـ: 

    clientId
    +
    redirectUri: Uri.parse

    ايضا بنسبة الى ملف AndroidManifest

    هو بشكل التالي :

     <!-- Set up the Sign in with Apple activity, such that it's callable from the browser-redirect -->
           <activity
               android:name="com.aboutyou.dart_packages.sign_in_with_apple.SignInWithAppleCallback"
               android:exported="true"
               >
               <intent-filter>
                   <action android:name="android.intent.action.VIEW" />
                   <category android:name="android.intent.category.DEFAULT" />
                   <category android:name="android.intent.category.BROWSABLE" />
    
                   <data android:scheme="signinwithapple" />
                   <data android:path="callback" />
               </intent-filter>
           </activity>

    هل احتاج الى تغير شي فيه ؟

  11. السلام عليكم ورحمة الله وبركاته

    تحيه طيبه للجميع

    وكل عام والجميع بالف خير بمناسبة عيد الاضحى المبارك 

     

    لدي استفسار لو تكرمتو / انا اعمل على listview  من خلالها اقوم بعرض بيانات محدده من قاعدة البيانات mysql  من خلال شرط محدد 

    القائمة هذا تعرض لدي اقسام التطبيق بحيث مثلا لو تحقق شرط where اعرض الاقسام الموجوده حسب رقم id الذي كان في الجمله الشرطيه 

    مثال على ذلك :

    يقوم المستخدم بعملية الانتقال من الصفحه الاولى الى الصفحه الثانية وهو يحمل لديه رقم معرف منفرد مثلا id=13 

    الان في الصفحه الثانيه سوف يشاهد المستخدم كل الاقسام المرتبطه بمعرفة id  هذا  ولتكن كالتالي:

    قسم الكتابه 

    قسم المعارف

    قسم الحكايات

    قسم القصص 

    قسم الاحاديث 

     

    طبعا لو اختار المستخدم على سبيل المثال قسم محدد ليكن مثلا قسم القصص سوف ينتقل الى صفحه مختلفه من خلالها سوف يشاهد list view يعرض كل القصص الموجوده.

     

    ما احاول معرفة طريقة عمله الان كيف يمكن وضع خيار في اول القائمة بحيث لو المستخدم اختار هذا الخيار سوف ينتقل الى صفحه التاليه ولكن سوف يشاهد محتوى كل الاقسام دفعه واحده كالتالي:

     

    كل الاقسام

    قسم الكتابه 

    قسم المعارف

    قسم الحكايات

    قسم القصص 

    قسم الاحاديث 

     

    انا اجلب جميع البيانات من خلال الكود التالي:

      Future<List<Category>> Fetch() async {
        apiURL = 'https://****************egory.php?Id_gorys=' + widget.IDgerys.toString();
        print(apiURL);
        var response = await http.post(Uri.parse(apiURL));
    
    
        if (response.statusCode == 200) {
          final items = json.decode(response.body).cast<Map<String, dynamic>>();
    
          List<Category> listOfFruits = items.map<Category>((json) {
            return Category.fromJson(json);
          }).toList();
    
          return listOfFruits;
        } else {
        
          throw Exception('Failed to load data from Server.');
        }
      }

     

    واعرض البيانات كالتالي:

     

      child: FutureBuilder<List<Category>>(
                    future: Fetch(),
                    builder: (context, snapshot) {
                      if (snapshot.hasData) {
    
                      Padding(
                          padding: const EdgeInsets.all(5.0),
                          child: Card(
                            child: ListView.separated(
                                separatorBuilder: (BuildContext context, int index) => Divider(height: 1),
                                itemCount: Users.length,
                                itemBuilder: (BuildContext context, int index) {
                                  return Container(
                                      child: SingleChildScrollView(
                                          child: Column(
                                              crossAxisAlignment:
                                              CrossAxisAlignment.stretch,
                                              children: <Widget>[
                                                GestureDetector(
                                                    onTap: () => {
                                                      getItemAndNavigate(
    
                                                          Users[index].id,
    
                                                          context),
                                                    },
                                                    child: Column(
    
    
                                                      children: <Widget>[
                                                        Row(children: [
                                                          Container(
    
    
                                                            child: Flexible(
    
                                                              child: Column(
    
                                                                children: <Widget>[
    
                                                                  SizedBox(
                                                                    height: 60.0,
                                                                    child: ListTile(
    
                                                                    
    
                                                                        title: Text(Users[
                                                                        index] .Name)),
    
                                                                      
                                                                  ),
    
    
    
    
    
    
                                                                ],
                                                              ),
                                                            ),
    
                                                          ),
                                                        ],
    
                                                        ),
    
                                             
                                                      ],
    
                                                    )
                                                ),
    
                                       
                                              ] )
    
                                      ));
    
                                }),
    
                          ),

     

     

    ياليت اذا احد لديه فكره عن طريقة عمل ذلك يساعدنا 

    شكرا لكم

  12. بتاريخ 15 دقائق مضت قال بلال زيادة:

    ممكن تقوم بعملية حفظ للبيانات داخل قاعدة بيانات في التطبيق و تقوم بعرض البيانات من خلال قاعدة البيانات , البيانات المرجعة من api  تقوم بتخزينها في قاعدة البيانات و عند عرض البيانات على الواجهات تقوم بإرجاع البيانات من داخل قاعدة البيانات .

    يوجد عدة مكتبات يمكنك تصفحها من هنا  أو من هنا

    اهلا بك اخي الكريم نعم لقد وجدت هذا المكاتب ولكن مع الاسف لا يوجد شروح لها في الانترنت وشرح المرفق غير واضح حقيقه قمت بتجريبه ولكن هو فقظ يقوم بحفظ البيانات بدون استدعاء وما شابه

    بتاريخ 9 دقائق مضت قال Nuhla Almasri:

    يمكنك استخدام litsql  يتم تحميلها بنفس التطبيق او خفظه كملف json يتم حفظه ب SharedRefrences  و عند طلب المعلومات يمكنك الأستعانة بهذا الملف أو ال litsql و استخراج البيانات منها 

    اهلا بك شاكر لك افادتك بس ياليت لو فيه شروح ل هذا الطريقه يوتيوب مثلا او شي ثاني الافاده بهم ولك جزيل الشكر

    • أعجبني 2
  13. هل توجد طريقة لحفظ البيانات في الجهاز بعد اول تحميل؟

    حتى يتم عمل البرنامج لدى المستخدم بشكل سريع وسلس

    مثل ما يتم استعماله لدى الصور :

    cached_network_image

    ولكن ابحث لنصوص والقوائم 

    مثلا انا يتم حتى يتم جلب listview نحتاج بعض الوقت الذي يظهر فيه CircularProgressIndicator

    احاول تسريع هذا العمليه وتجنب ظهور CircularProgressIndicator كثير وان يصبح التطبيق اسرع للمستخدم

    • أعجبني 1
  14. بتاريخ 14 ساعات قال Wael Aljamal:

    حسنا استخدم حاليا firebase لايوجد مشكلة لأن أهم ميزة فيها هي real time database.

    التكاليف في فايربيز ترتفع مع ازدياد حجم المشروع، حاول الاشتراك بخدمة "ادفع حسب ما تستهلك" بدل الاشتراك الثابت..

    بشكل عام الموضوع بحاجة لدراسة عدد المشركين و حجم المشروع والتجريب.

     

    على ما يبدو انني كنت فاهم اسعارهم بشكل خطا قليلا 

    يبدو ان التحميل والتنزيل والمشاهده وغيرها يتم احتسابها بعدد الظهور للمستخدمين في التطبيق لقد وجدت البعض يقول ان الباقه المجانيه لو كان فيه مستخدمين نشيطين في التطبيق الحزمه اليوميه تنفذ بسرعه او شي من هذا الكلام

     

    بنسبه لخدمة ارسال OTP  هل يتم تجديد 10 الاف شهريا المجانية؟ يعني لو استنفذت العشره لهذا الشهر هل احصل على غيرهم الشهر التالي؟

     

  15. بتاريخ 2 دقائق مضت قال Wael Aljamal:

    يمكنك الاستفادة من الطريقتين في مشروعك، فايربيس لتخزين البيانات التي تريد تحميلها بسرعة و تتطلب عمليات بحث.. مايتعلق بالمستخدمين.. كما يمكن الاستفادة من توثيق المستخدمين و تسجيل الدخول عن طريق مواقع ال social media وغيرها وكما التحقق من الحسابات للمستخدمين، لكن firebase تصبح غالية/مكلفة عند زيادة حجم البيانات فعليه الاستضافة المدفوعة تكون أرخص و تخزن عليها الصور مثلا.. 

    روابط مفيدة:

    اهلا بك اخي 

    والله يا اخوي انا بنسبة الى الاسعار هذا الامر حيرني كثير 

    في بداية اتطلعي عليها وجدت ان سعرها مرتفع مقابل الاستضافه العاديه ولكن لما عدت لها قريب وجدت ان سعرها معقوله مقارنه بالاستضافه العاديه 

    الاستضافه العاديه مثلا السنه 20 جيجيا مقابل 41$ تقريبا 

    بالمقابل وجدت ان الفاير بيز 20 جيجا سعرها حتى ما يصل 10 $ لسنه واحده 

    اتمنى ان لا اكون فاهم الاسعار بشكل خطاء ولكن على ما اشاهده هيا ارخص من الاستضافه العاديه 

  16. بتاريخ الآن قال Wael Aljamal:

    يوفر whatsup خدمة api يمكنك من خلالها إرسال أي رسالة عن طريق الانترنت بتحديد رابط مكون من رقم المستخدم مع بادئة خاصة ب whatsup domain:

    مثلا من متصفح بشكل بسيط..

    
    https://api.whatsapp.com/send?phone=XXXXXXXXXXXX

    الآن برمجيا باتباع التوثيق:

    
    POST /v1/messages
    {
        "preview_url": false | true,
        "recipient_type": "individual",
        "to": "whatsapp-id",
        "type": "text",
        "text": {
            "body": "your-text-message-content"     //////// OTP
        }
    }

    رابط التوثيق: developers.facebook/docs/whatsapp/overview

    يوجد SDK كامل يمكنك الاطلاع عليه وتضمينه في مشروعك

    مرحبا اخي الكريم 

    شاكر لك ردك اخوي 

    ولكن لدي استفسار لو تكرمت هذا الخدمه لا تسبب حجب لرقم المستعمل من التطبيق لنه سيكون ثابت بطبيعة الحال ؟

     

    ايضا كيف نقدر نخلي التطبيق يتفاعل بشكل تلقائي في ارسال الرساله يعني مثلا ما معقوله اكون انا شغال 24 ساعه ارسل اكواد التفعيل اكيد في طريقة لفعل ذلك بشكل تلقائي

    • أعجبني 1
  17. لدي اشويه استفسارات عن الفايربيز لو تكرمتو الذي لديه فكره عن الامر

    انا لم يسبق لي استعمال قواعد الفايربيز من قبل ولدي تطبيق flutter ولكن حاليا عامل استضافه مدفوعه له في الانترنت مثل استضافة 000webhost ولكن مدفوعه 

    وطبعا لدي قاعدة بيانات + ملفات php 

     لو رغبة بالانتقال الى استعمال قواعد الفاير بيز هل سيكون الامر شاق وياخذ وقت كبير لو كان تطبيقي كبير نسبياً؟ ام الامر يحتاج الى بعض التغيرات الخفيفه ؟

     ايضا ما نوع قواعد البيانات التي سوف احتاجها مع العلم انني اقوم بتخزين الصور + النصوص 

    بنسبة الى ملفات php هل يتم الاستغناء عنهم مع قواعد الفايربيز ؟

  18. لقد شاهدت تطبيقات مثل تطبيق السوق المفتوح يقوم بارسال رمز التحقق من رقم الهاتف OTP  من خلال خدمة واتساب 

    هل هذا الامر غير مخالف لقوانين خدمة الواتساب؟ وهل هيا مجانية ؟اذا كان غير مخالف هل توجد طريقة لتطبيق ذلك في flutter?

    حيث انني ارغب بتطبيقها في تطبيقي لتحقق من ارقام المستخدمين

  19.  السلام عليكم ورحمة الله وبركاته 

    تحيه طيبه للجميع 

    انا اقوم بنقل مشروعي بين حاسوبين مختلفات شغال على ويندوز وعلى ماك المشكله انني لدي في مشروع مكتبة sqflite  وعلى ما يبدو انها لا تعمل لدى اقل من Target 12.1

    لدى نقل المشروع من الماك الى الويندوز وارجاعه لاحقا الى الماك من الويندوز اجد ان Target  قد عاد الى الاصدار 9.0 للمكتبه المذكوره  فاقوم باعادة ضبطه من جديد من خانة IOS Deployment target الخاص ب المكتبة 

    في كل مره اقوم بتكرار هذا العملية لحل المشكله

    استفساري: الا توجد طريقة لتثبيت target المختار لهذا المكتبه بشكل دائم ؟عذرا على السوال ولكني خبرتي قليله في التعامل لدى برنامج xcode  وبرمجة ios 

     

  20. بتاريخ 3 دقائق مضت قال Wael Aljamal:

    هذه مكتبة لإدارة الاتصال بقواعد البيانات في التطبيق حيث أنها الإصدار الخاص من SQLite ب Flutter فأصبح اسمها:  sqflite

    ونعم صحيح، إن لم تستخدم أنت قاعدة البيانات في مشروعك ربما هي اعتمادية من مكتبة أخرى.. وفي بعض الحالات يتم تثبيت مكتبات بإصدارات غير متوافقة وتسبب مشاكل.

    كل الشكر لك على التوضيح اخي الكريم

    • أعجبني 1
  21. بتاريخ 4 ساعات قال Wael Aljamal:

    إت كنت تستعمل: sqflite فيوجد مشكلة في إصدارها وحل المشكلة هو:

    إما:

    
    dependency_overrides:
      sqflite:
        git:
          url: https://github.com/TinyProgrammers/sqflite.git
          path: sqflite 

    أو:

    
    dependencies: 
    	flutter: 
    		sdk: 
    		flutter 
    			sqflite: 1.3.1+2
    
    in XCODE > Pods > TARGETS > sqflite under the Build Settings tab 
    
    	change IOS Deployment Target from 10.0 to 12.1.

    __________

    في Podfile: أضف التالي وهو خاص بالمعمارية armv7 التي سببت مشكلة لديك..

    
    post_install do |installer|
      installer.pods_project.build_configurations.each do |config|
        config.build_settings["EXCLUDED_ARCHS"] = "armv7"
      end
    end

    __________

    ما هو :

    
    platform :ios, '10.0'

    الذي تستعمله؟ حاول تغييره إلى 10 أو 12.1 أو 9.

    __________

    نحاول مسح الكاش في المشروع:

    
    cmd+shift+K

    ثم اتبع التعليمات:

    
    flutter clean
    rm -Rf ios/Pods
    rm -Rf ios/.symlinks
    rm -Rf ios/Flutter/Flutter.framework
    rm -Rf ios/Flutter/Flutter.podspec
    cd ios
    pod install
    cd ..
    flutter build ios
    flutter run

    9يوجد حل آخر من هنا حيث يتابع المطورون حل المشكلة:

    undefined-symbols-for-architecture-armv7

    اهلا بك اخي الكريم

    دائما المشاكل تواجهني لما انتقل من الويندوز او انقل مشروعي من الويندوز لستكماله على نظام ios  في الماك واغلب المشاكل كلها تكون في cocoapods قمت بتحديثه الى احدث اصدار الان وقمت باغلاق اصدار الذي ذكرته حتى اعيد الملف كالسابق:

    platform :ios, '10.0'

    والان يعمل ولله الحمد / الحزم الخاصة ب فايربيز هيا ما تعمل المشاكل دائما اصعب المراحل التعامل معها وجعلها متوافقه بشكل صحيح

     

    بنسبة الى sqflite انا لم استعمله ولا اعلم ما هو استخدامه ابدا اول مره اشوفه ولكن قد يكون مرتبط بحزمة اخرى استعملها لا اعلم حقيقه ولكن هو متواجد فعلا على مشروعي 

  22. السلام عليكم ورحمة الله وبركاته

    تحيه طيبه للجميع

    احاول تشغيل تطبيق flutter من خلال  xcode  ولكن تواجهني المشكلة التاليه:

    ld: warning: ignoring file /Users/mar/Library/Developer/Xcode/DerivedData/Runner-dikmsnxgfjjxncakbmufgzjotbkx/Build/Products/Release-iphoneos/FMDB/FMDB.framework/FMDB, building for iOS-armv7 but attempting to link with file built for iOS-arm64
    Undefined symbols for architecture armv7:
      "_OBJC_CLASS_$_FMDatabaseQueue", referenced from:
          objc-class-ref in SqflitePlugin.o
    ld: symbol(s) not found for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
    Showing All Messages
    Undefined symbol: _OBJC_CLASS_$_FMDatabaseQueue
    
    
    
    Ignoring file /Users/mar/Library/Developer/Xcode/DerivedData/Runner-dikmsnxgfjjxncakbmufgzjotbkx/Build/Products/Release-iphoneos/FMDB/FMDB.framework/FMDB, building for iOS-armv7 but attempting to link with file built for iOS-arm64
    

    فيه احد يعرف سبب هذا المشكله ؟ تظهر لما احاول اعمل بيلد لتطبيق حتى اختبر التطبيق على الهاتف

    • أعجبني 1
  23. بتاريخ 2 ساعات قال Wael Aljamal:

    ربما لايتم تشكيل المكونات بالسرعة الممطلوبة لأنه تجلب بيانات من القاعدة، أيضا تغيير ال screen ومازالت عملية غير متزامنة تعمل في الخلفية.

    نعم يبدو الام كذلك ولكن هل هذا الامر يشكل مشكله على عمل التطبيق او هذا الرساله او ما يحدث بسببها؟ام الامر عادي

  24. بتاريخ 8 ساعات قال Wael Aljamal:

    سبب المشكلة هو استدعاء:

    
    setState()

    على عنصر قد تم حذفه أي أنه ليس موجود فعليا ضمن widget tree.

    حاول التحقق بشرط هل ما تريد تحديثه موجود فعلا؟

    
    if (mounted) {
      setState(() {
        /** **/
      });
    }

    يتم استدعاء dispose من قبل Flutter عند حذف widget ما.

    تأكد من تهيئة الحالة:

    
    void initState() {
      ...
    }

     

    اهلا اخي الكريم

    انا عامل bottom navigation bar ولما اتنقل بشكل سريع بين الازار فيه تحدث هذا المشكله اما لو كان تنقلي بطي بحيث اعطي كل صفحه وقت طويل قليلا لا تحدث لدي 

     

    بتاريخ 8 ساعات قال Nuhla Almasri:

    يبدو أن هنالك أوبجكت أخر يقوم بتعديل الحالة بعد أن زال المكون Component  يمكنك أن تحاول بطريقة بسيطة عمل فحص  لحالة المكون أن كان مثبت mount و أن كان المكون مثبت فقم بعمل بتحديث الحالة  و أن لم يكن فلا تقم بتغيير الحالة كالتالي:

    
    if (!this.mounted) return;
    
    setState(){
        /** **/
    }

     

     

    اهلا بك اختي الكريمه

    انا عامل bottom navigation bar والمشكله تحدث في حالة تنقلي السريع بين نوافذه

  25. السلام عليكم ورحمة الله وبركاته

    تحيه طيبه للجميع

    يحدث ان يظهر لدي خطاء برغم من ان الصفحه تعمل جيدا في بعض الصفحات ولكن لم افهم السبب هل يعلم احدكم سبب حدوثه او طريقة حله ؟

    [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: setState() called after dispose(): _HomePageState#a94fc(lifecycle state: defunct, not mounted)
    E/flutter (19298): This error happens if you call setState() on a State object for a widget that no longer appears in the widget tree (e.g., whose parent widget no longer includes the widget in its build). This error can occur when code calls setState() from a timer or an animation callback.
    E/flutter (19298): The preferred solution is to cancel the timer or stop listening to the animation in the dispose() callback. Another solution is to check the "mounted" property of this object before calling setState() to ensure the object is still in the tree.
    E/flutter (19298): This error might indicate a memory leak if setState() is being called because another object is retaining a reference to this State object after it has been removed from the tree. To avoid memory leaks, consider breaking the reference to this object during dispose().
    E/flutter (19298): #0     

     

×
×
  • أضف...