iOS,ld:框架找不到架构arm64的GoogleMaps

时间:2015-12-06 00:47:28

标签: ios swift google-maps cocoapods xcode7

我正在使用谷歌地图开发一个应用程序。我将解释我用谷歌地图做了什么,也许你可以帮助我。

我使用的是没有POD的谷歌地图框架,但是在关于谷歌地图的一些错误后,我删除了谷歌地图框架参考,并使用POD安装了它。一切都很好,但是当我点击

  

产品 - > TEST

现在我收到了这个错误:

ld: framework not found GoogleMaps for architecture arm64

知道怎么解决这个问题吗?

谢谢!

Podfile看起来像这个Cocoapods v1.0 beta 6):

platform :ios, '8.0'
use_frameworks!

target 'Project' do
    pod 'GoogleMaps'

    target 'ProjectTests' do
        inherit! :search_paths
        pod 'Mockingjay'
    end
end

2 个答案:

答案 0 :(得分:2)

更新请检查目标的ArchitecturesBuild active Architectures only键中是否有相同的构建设置

您的podfile应如下所示

platform :ios, '8.0'
use_frameworks!

target 'Project' do
    pod 'GoogleMaps'
end

target 'ProjectTests' do
     //inherit! :search_paths
     pod 'Mockingjay'
end

在启动project目标之前结束ProjectTest目标,以及添加inherit! :search_paths的原因?除非你有一些特殊要求,否则通常不需要它

旧答案

如果您想要测试目标中的pod而不是必须添加,那么在测试中也与添加到项目主目标中的方式相同

所以如果“SwiftCocoaPods”是您的主要目标名称,您的可可豆荚就是这样的

//other top level imports
target “SwiftCocoaPods” do
pod "GoogleMaps"
end

target “SwiftCocoaPodsTests” do
pod "GoogleMaps"
end

然后你应该为测试添加pods,比如“SwiftCocoaPodsTests”。您可以用您测试目标名称

的任何内容替换名称

否则,如果你想在多个目标中添加相同的pod,你可以使用def并在所有看起来像这样的目标中使用它

def project_pods
pod "GoogleMaps"
//add other pods which you want in all the targets
end

target “SwiftCocoaPods” do
project_pods 
end

//only add project_pods instead of pods individually 
target “SwiftCocoaPodsTests” do
project_pods
end

答案 1 :(得分:0)

这对我有用:

platform :ios, '9.0'

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!

def all_pods
    pod 'GoogleMaps'
end

abstract_target 'Map Base' do
     all_pods

     target 'Map' do

     end

     target 'Unit Tests' do

     end

     target 'Device Tests' do

     end
end