Flutter-geolocator: خطأ في التجميع على iOS

تم إنشاؤها على ١٥ يناير ٢٠١٩  ·  3تعليقات  ·  مصدر: Baseflow/flutter-geolocator

🐛 تقرير الشوائب

هناك العديد من التحذيرات التي تسبب فشل الإنشاء عند إضافة geolocator: ^ 2.1.1 إلى المشروع واستهداف iOS.

فشل إنشاء تطبيق iOS
خرج الخطأ من بناء Xcode:

* فشل البناء *

إخراج Xcode:

/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-2.1.2/ios/Classes/PermissionManager. سويفت: 50 : 59: خطأ: تمت إعادة تسمية "openSettingsURLString" إلى "UIApplicationOpenSettingsURLString"
guard let url = URL (سلسلة: UIApplication.openSettingsURLString) ،
^ ~ ~ ~ ~
تطبيق UIAOpenSettingsURLString
طرح UIKit.UIAp : 64 : 22: ملاحظة: تم تقديم "openSettingsURLString" في Swift 4.2
الصف العام اسمحوا openSettingsURLString: String
^
/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-2.1.2/ios/Classes/PermissionManager. سويفت: 55 : 45: خطأ: تسميات الوسيطة '(rawValue :)' لا تطابق أي أحمال زائدة متاحة
السماح optionsKeyDictionary = [UIApplication.OpenExternalURLOptionsKey (rawValue: "universalLinksOnly"): NSNumber (القيمة: صحيح)]
^ ~ ~ ~ ~ ~ ~ ~ ~
/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-2.1.2/ios/Classes/PermissionManager. swift: 55 : 45: note: overloads for 'UIApplication.OpenExternalURLOptionsKey' موجودة مع قوائم المعلمات المطابقة جزئيًا هذه: (المبرمج: NSCoder) ، (stringLiteral: StaticString) ، (التنسيق: NSString ، CVarArg ...) ، (السلسلة: NSString ) ، (utf8String: UnsafePointer) ، (UTF8String: UnsafePointer) ، (سلسلة: سلسلة) ، (محتويات ملف: سلسلة) ، (محتويات: عنوان URL) ، (محتويات: عنوان URL) ، (cString: UnsafePointer) ، (CString: UnsafePointer)
السماح optionsKeyDictionary = [UIApplication.OpenExternalURLOptionsKey (rawValue: "universalLinksOnly"): NSNumber (القيمة: صحيح)]
^
/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-2.1.2/ios/Classes/PermissionManager.swift:59:91: خطأ: تمت إعادة تسمية "openSettingsURLString" إلى " تطبيق UIAOpenSettingsURLString '
دع النجاح = UIApplication.shared.openURL (URL.init (سلسلة: UIApplication.openSettingsURLString)!)
^ ~ ~ ~ ~
تطبيق UIAOpenSettingsURLString
UIKit.UIA التطبيق: 64: 22: ملاحظة: تم تقديم "openSettingsURLString" في Swift 4.2
الصف العام اسمحوا openSettingsURLString: String
^
/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/permission_handler-2.1.2/ios/Classes/PermissionManager.swift:99:54: خطأ: معلمة مجموعة الإغلاق '(المفتاح: سلسلة ، القيمة: أي) 'لا يدعم التدمير
إرجاع القاموس (uniqueKeysWithValues: input.map {key، value in (UIApplication.OpenExternalURLOptionsKey (rawValue: key)، value)})
^ ~ ~~(arg) -> <# Result #> let (key، value) = arg؛























~ ~ ~ ~ ^ ~/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:111:45: تحذير: مقارنة بين المؤشر وعدد صحيح ('NSInteger "(الملقب" طويلة ") و" باطل * ")إذا (self -> _ previousStatusBarStyle! = لا شيء) {~ ~ ~ ~ ~ ~ ~ ^ ~/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:108:18: تحذير: ' openURL: options: completeHandler :' متاح فقط على iOS 10.0 أو أحدث [-Wunguarded -ability][تطبيق openURL: url^ ~ ~في الوحدة النمطية 'UIKit' تم استيرادها من / Volumes / PROJECTS / nomadradar-app / repo / nomadradar / ios / Pods / Target Support Files / url_launcher / url_launcher-prefix.

*) خيارات الإكمال^/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:108:18: ملاحظة: أرفق openURL: الخيارات : الإكمال 'في اختيار available لإسكات هذا التحذير[تطبيق openURL: url^ ~ ~/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:140:3: تحذير: "SFSafariViewController" متاح فقط على iOS 9.0 أو أحدث [-Wunguarded -ability]SFSafariViewController * safari = [[تخصيص SFSafariViewController] في itWithURL: url ] ؛^ ~ ~ ~ ~~في الوحدة النمطية 'SafariServices' تم استيرادها من /Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:5:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/SafariServices.framework/Headers/SFSafariViewController.h:27:12: ملاحظة: ' تم وضع علامة SFSafariViewController 'بشكل صريح على أنه جزئي هناinterface SFSafariViewController: UIViewController^/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:140:3: ملاحظة: ضع 'SFSafariViewController' في available تحقق لإسكات هذا التحذيرSFSafariViewController * safari = [[تخصيص SFSafariViewController] في itWithURL: url ] ؛^ ~ ~ ~ ~~/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:140:38: تحذير: "SFSafariViewController" متاح فقط على iOS 9.0 أو أحدث [-Wunguarded -ability]SFSafariViewController * safari = [[تخصيص SFSafariViewController] في itWithURL: url ] ؛^ ~ ~ ~ ~~~~
في الوحدة النمطية 'SafariServices' تم استيرادها من /Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:5:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/SafariServices.framework/Headers/SFSafariViewController.h:27:12: ملاحظة: ' تم وضع علامة SFSafariViewController 'بشكل صريح على أنه جزئي هنا
interface SFSafariViewController: UIViewController
^
/Users/dirkeisold/programming/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/ios/Classes/UrlLauncherPlugin.m:140:38: ملاحظة: ضع 'SFSafariViewController' في available تحقق لإسكات هذا التحذير
SFSafariViewController * safari = [[تخصيص SFSafariViewController] في itWithURL: url ] ؛

سلوك متوقع

لا اخطاء.

خطوات الاستنساخ

إعدادات

الإصدار: ^ 2.1.1

[✓] Flutter (قناة مستقرة ، v1.0.0 ، في نظام التشغيل Mac OS X 10.13.6 17G4015 ، لغة de-DE)
• Flutter الإصدار 1.0.0 في / Users / dirkeisold / programme / flutter
• مراجعة الإطار 5391447fae (منذ 7 أسابيع) ، 2018-11-29 19:41:26 -0800
• مراجعة المحرك 7375a0f414
• إصدار Dart 2.1.0 (الإصدار 2.1.0-dev.9.4 f9ebf21297)

[✓] Android toolchain - التطوير لأجهزة Android (Android SDK 28.0.3)
• Android SDK في / Users / dirkeisold / programme / android-sdk-macosx
• لم يتم تكوين موقع Android NDK (اختياري ؛ مفيد لدعم التوصيف الأصلي)
• منصة android-28 ، أدوات بناء 28.0.3
• ANDROID_HOME = / المستخدمون / dirkeisold / البرمجة / android-sdk-macosx
• برنامج Java ثنائي على: / Applications / Android Studio 3.2.app/Contents/jre/jdk/Contents/Home/bin/java
• إصدار جافا OpenJDK Runtime Environment (النسخة 1.8.0_152-release-1136-b06)
• قبول جميع تراخيص Android.

[✓] سلسلة أدوات iOS - تطوير لأجهزة iOS (Xcode 10.1)
• Xcode في /Applications/Xcode.app/Contents/Developer
• Xcode 10.1 ، الإصدار الإصدار 10B61
• نشر ios 2.0.0
• CocoaPods الإصدار 1.5.3

التعليق الأكثر فائدة

deisold ، @ tommaso1 ، ربما يكون سبب حصولك على هذه المشكلة هو أنك ما زلت تجمع مقابل إصدار SWIFT أقدم (أعتقد أن القيمة الافتراضية الحالية هي 4.1). يمكنك ببساطة تغيير هذا عن طريق تحديث Podfile باستخدام الإرشادات التالية.

في Podfile الخاص بك تأكد من إضافة السطر use_frameworks! (الأفضل هو إضافة هذا الخط مباشرة أسفل العداء الهدف ، افعل ذلك كما يلي:

target 'Runner' do
  use_frameworks!

أيضًا في Podfile الخاص بك ، تأكد من إضافة السطر config.build_settings['SWIFT_VERSION'] = '4.2' إلى كتلة post_installer. بعد إضافة هذا السطر ، يجب أن تبدو كتلة post_installer كما يلي:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['SWIFT_VERSION'] = '4.2'
    end
  end
end

ال 3 كومينتر

+1

حاول تنظيف الرفرفة flutter clean

deisold ، @ tommaso1 ، ربما يكون سبب حصولك على هذه المشكلة هو أنك ما زلت تجمع مقابل إصدار SWIFT أقدم (أعتقد أن القيمة الافتراضية الحالية هي 4.1). يمكنك ببساطة تغيير هذا عن طريق تحديث Podfile باستخدام الإرشادات التالية.

في Podfile الخاص بك تأكد من إضافة السطر use_frameworks! (الأفضل هو إضافة هذا الخط مباشرة أسفل العداء الهدف ، افعل ذلك كما يلي:

target 'Runner' do
  use_frameworks!

أيضًا في Podfile الخاص بك ، تأكد من إضافة السطر config.build_settings['SWIFT_VERSION'] = '4.2' إلى كتلة post_installer. بعد إضافة هذا السطر ، يجب أن تبدو كتلة post_installer كما يلي:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['SWIFT_VERSION'] = '4.2'
    end
  end
end
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات