位置和url_launcher插件之间的冲突

问题描述 投票:0回答:2

我正在开发一个应用程序,它可以找到用户所在位置周围的兴趣点。为了获得用户的位置,我使用了location插件,它运行得非常好。 我想要实现的下一件事是打开默认地图应用程序以将用户导航到POI的按钮。我使用url_launcher插件和android的geo:url方案以及iOS的maps:scheme使用它。 两个插件彼此独立,按预期工作。一旦我在我的项目中有两个插件,问题就开始了。使用flutter create的默认设置我收到以下错误:

Launching lib/main.dart on iPhone 6 in debug mode...
Running pod install...
CocoaPods' output:
↳
  Preparing

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-Runner`: (`arm64`)

Finding Podfile changes
  - Flutter
  - location
  - url_launcher

Fetching external sources
-> Fetching podspec for `Flutter` from `/Users/rainerwittmann/Flutter/flutter/bin/cache/artifacts/engine/ios`
-> Fetching podspec for `location` from `/Users/rainerwittmann/.pub-cache/hosted/pub.dartlang.org/location-1.0.2/ios`
-> Fetching podspec for `url_launcher` from `/Users/rainerwittmann/.pub-cache/hosted/pub.dartlang.org/url_launcher-0.4.2+1/ios`

Resolving dependencies of `Podfile`

Comparing resolved specification to the sandbox manifest
  - Flutter
  - location
  - url_launcher

Downloading dependencies

-> Using Flutter (1.0.0)

-> Using location (0.0.1)

-> Using url_launcher (0.0.1)
  - Running pre install hooks
[!] Pods written in Swift can only be integrated as frameworks; add `use_frameworks!` to your Podfile or target to opt into using it. The Swift Pod being used is: location

/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:448:in `block (2 levels) in verify_framework_usage'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:443:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:443:in `block in verify_framework_usage'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:440:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:440:in `verify_framework_usage'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:114:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/command/install.rb:37:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/command.rb:50:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
Error running pod install
Error launching application on iPhone 6.

到现在为止还挺好。添加use_frameworks!到我的podfile,由错误消息建议导致另一个错误:

Launching lib/main.dart on iPhone 6 in debug mode...
Running pod install...
Running Xcode build...
Failed to build iOS app
Error output from Xcode build:
↳
** CLEAN FAILED **


The following build commands failed:
    Check dependencies
(1 failure)
** BUILD FAILED **


The following build commands failed:
    Check dependencies
(1 failure)
Xcode's output:
↳
Build settings from command line:
    ARCHS = x86_64
    BUILD_DIR = /Users/rainerwittmann/Flutter/zapfsuche/build/ios
    ONLY_ACTIVE_ARCH = YES
    SDKROOT = iphonesimulator10.3

=== CLEAN TARGET location OF PROJECT Pods WITH CONFIGURATION Release ===

Check dependencies
“Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.

=== CLEAN TARGET url_launcher OF PROJECT Pods WITH CONFIGURATION Release ===
Check dependencies

=== BUILD TARGET url_launcher OF PROJECT Pods WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET location OF PROJECT Pods WITH CONFIGURATION Release ===

Check dependencies
“Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.

Could not build the application for the simulator.
Error launching application on iPhone 6.

不幸的是我不知道如何从这里开始。有人可以帮我解决这个问题吗?

注意 此问题仅存在于iOS上。这两个插件就像android上的魅力一样。

ios plugins dart flutter
2个回答
0
投票

Swift插件需要use_frameworks!而且还没有完全支持。

我是currently working。谢谢你的耐心!


0
投票

编辑Podfile

在“target'Runner'do”行号~35之后添加/取消注释

use_frameworks!

然后在行号~67之后添加此行

config.build_settings['SWIFT_VERSION'] = '4.0'

例:

target 'Runner' do
  ** use_frameworks!  **
........ ......

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.0' **
        end
      end
    end

删除你的Podfile.lock并尝试。

© www.soinside.com 2019 - 2024. All rights reserved.