2015-12-06 17 views
10

Tôi đang phát triển một ứng dụng bằng bản đồ google. Tôi sẽ giải thích những gì tôi đã làm với bản đồ google, và có thể bạn có thể giúp tôi.iOS, ld: framework không tìm thấy GoogleMaps cho kiến ​​trúc arm64

Tôi đang sử dụng khung bản đồ của Google mà không có POD, nhưng sau một vài lỗi về bản đồ Google, tôi đã xóa tham chiếu khung bản đồ google và tôi đã cài đặt nó bằng POD. Tất cả mọi thứ đang làm việc tốt, nhưng khi tôi nhấn

Product -> TEST

bây giờ tôi nhận được lỗi này:

ld: framework not found GoogleMaps for architecture arm64 

Bất kỳ ý tưởng như thế nào sửa lỗi này?

Cảm ơn bạn!

Podfile trông như thế này 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 
+0

Có lẽ nên sử dụng Cocoapod, việc thêm thư viện/khuôn khổ vào dự án của bạn thực sự đơn giản và ít bị lỗi hơn. – ztan

+1

Vâng, cảm ơn bạn, như tôi đã nói ... Tôi đang sử dụng cụm ca cao ngay bây giờ – Asinox

+0

@Asinox bạn có thể cập nhật tệp podfile của mình không? – HardikDG

Trả lời

2

Cập nhật Hãy kiểm tra xem bạn có cùng thiết lập xây dựng trong ArchitecturesBuild active Architectures only phím trong những mục tiêu

podfile của bạn nên trông giống như thế này

platform :ios, '8.0' 
use_frameworks! 

target 'Project' do 
    pod 'GoogleMaps' 
end 

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

Kết thúc mục tiêu project trước khi bạn bắt đầu mục tiêu ProjectTest, cũng là lý do bạn thêm inherit! :search_paths? nó thường không cần thiết trừ khi bạn có một số yêu cầu đặc biệt


Old trả lời

Nếu bạn muốn bạn kén trong mục tiêu thử nghiệm hơn bạn cần phải thêm sau đó trong các thử nghiệm cũng giống như cách bạn đã thêm vào trong mục tiêu chính của dự án

vì vậy, vỏ ca cao của bạn như thế này nếu "SwiftCocoaPods" là tên mục tiêu chính của bạn

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

target “SwiftCocoaPodsTests” do 
pod "GoogleMaps" 
end 

Sau đó, bạn nên thêm vỏ quả cho kỳ thi này cũng như "SwiftCocoaPodsTests". bạn có thể thay thế tên với bất cứ điều gì bạn kiểm tra tên mục tiêu là

khác nếu bạn muốn thêm các cụm tương tự trong các mục tiêu nhiều bạn có thể sử dụng def và sử dụng trong tất cả các mục tiêu mà trông như thế này

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

Không. Vấn đề là chúng tôi KHÔNG muốn đưa GoogleMaps vào Mục tiêu thử nghiệm. Vì vậy, Cocoapods được sử dụng để chỉ bao gồm nó trong mục tiêu chính. Tuy nhiên vì lý do nào đó, mục tiêu Kiểm tra vẫn tin rằng nó cần tải GoogleMaps. – GnarlyDog

+0

@GnarlyDog, vì vậy bạn không muốn googlemaps nhưng nó có nó cho mục tiêu thử nghiệm cũng? bạn có thể cập nhật podfile của mình không? – HardikDG

+0

@GnarlyDog cũng trước khi downvoting bạn guys đã đề cập đến bạn không muốn cocoapods trong mục tiêu thử nghiệm vẫn còn cho thấy/mất cocoapods trong mục tiêu câu hỏi hiện tại của bạn không nói điều này, nó chỉ nói xây dựng không thành công – HardikDG

0

Điều này phù hợp với tôi:

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 
Các vấn đề liên quan