Không tìm thấy khung GoogleToolboxForMac


82

Sau khi cập nhật Firebase của mình thông qua "pod update", tôi đã gặp lỗi như sau:

ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Đây là Podfile của tôi:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'

target 'BB' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for BB

  target 'BBTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'BBUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

Có ai biết về lỗi này không?

Tôi tìm kiếm các mối quan hệ GoogleToolboxForMac và Firebase, nhưng tôi chỉ nhận được một chút thông tin.

FYI, tôi sử dụng Swift 2.3 và Firebase 3.8.0.

Tôi sẽ biết ơn vì bất kỳ sự giúp đỡ nào mà bạn có thể cung cấp. Cảm ơn!


2
Tôi cũng vậy .. ai cũng có thể giúp? Tôi đã làm việc tất cả các ngày về vấn đề này: / Tôi thông báo rằng việc sử dụng phiên bản cũ của cùng một thư viện không sử dụng GoogleToolboxForMac và hoạt động hoàn hảo :(
Santi Iglesias

Từ các câu trả lời stackoverflow khác, tôi đã thử thêm tất cả những điều sau vào tệp nhóm của mình nhưng vẫn không hoạt động: pod 'Google / Analytics' pod 'Firebase / Core' pod 'Firebase / AdMob' # Đang cố gắng sửa lỗi GoogleToolboxForMac bị thiếu pod 'Firebase / Messaging 'pod' GoogleToolboxForMac / Logger 'pod' GoogleToolboxForMac ',' ~> 2.1 '
Charlie Seligman

Trước hết, định dạng Podfile của bạn đã cũ (Q4 / 2016). Xóa nó và tạo một cái mới bằng cách sử dụng 'pod init'. Sử dụng không gian làm việc không phải xcodeproj như được đề xuất bên dưới.
igraczech

Câu trả lời:


168

Tôi đã có những lỗi giống nhau. Sau khi cài đặt các nhóm, bạn sẽ thấy thông báo sau.

[!] Vui lòng đóng mọi phiên Xcode hiện tại và sử dụng MyApp.xcworkspace cho dự án này từ bây giờ.

Tôi đã không nhận thấy điều này lần đầu tiên và đang cố gắng xây dựng dự án bằng cách sử dụng tệp xcodeproj thông thường. Sau khi tôi nhìn thấy thông báo này, tôi đã mở đúng dự án và nó hoạt động tốt.

Khi bạn mở dự án này, bạn sẽ nhận thấy rằng bạn có hai dự án con. Một sẽ là dự án của bạn và một sẽ là dự án Pods.


40

Không tìm thấy khung

Khi sử dụng Pods, chúng tôi thường gặp phải vấn đề này.

Có hai lý do chính cho việc này

  1. Khi chúng ta mở .xcodeproj tập tin thay vì .xcworkspace như đã đề cập bởi izaaz-Yunus trong này trả lời

  2. Khi Chỉ xây dựng kiến ​​trúc hoạt động được đặt thành trong Cài đặt bản dựng

    Điều này áp dụng cho mục tiêu dự án và cũng cho tất cả các mục tiêu trong dự án nhóm

Ảnh chụp màn hình dự án chính Đặt Chỉ xây dựng kiến ​​trúc hoạt động thành Không

Ảnh chụp màn hình Pod Project nhập mô tả hình ảnh ở đây

  1. Chọn Cài đặt bản dựng (của dự án chính, dự án nhóm cả hai)
  2. Chọn từng Mục tiêu một
  3. Đặt Xây dựng kiến ​​trúc hoạt động thành Không cho mỗi mục tiêu

Cuối cùng làm sạch và xây dựng lại dự án của bạn.


là có một lỗi đánh máy, ở vị trí thứ 2 bạn nói "có" nhưng tại show hình ảnh "không", nhờ @Vinay Kumar
greenridinghood

# 2 nói với những gì đang gây ra vấn đề và hình ảnh là cách thiết lập nên trông giống như cho vấn đề này được giải quyết
Vinay Kumar

Tất cả các giải pháp khác không hoạt động đối với tôi, hãy đặt Build Active Architecture Only thành KHÔNG cho tất cả thư viện pod
tamtoum1987

18

Trong trường hợp của tôi, tất cả tích hợp đều được thực hiện tốt và tôi cũng đã cố gắng xóa và cài đặt lại pod rất nhiều lần nhưng không thành công.

Cuối cùng hãy thử với bước dưới đây

Projetc-> Quản lý lược đồ -> Chọn hộp kiểm "Pods-MyProjectName"

Và nhận được thành công.


Tôi gặp lỗi này khi chạy trong trình mô phỏng nhưng không gặp lỗi này trên thiết bị thực tế.
mpwhitt

Điều này hiệu quả với tôi nhưng tôi cũng phải xây dựng dự án nhóm một cách rõ ràng trước khi cố gắng xây dựng dự án của mình. Không biết tại sao.
pieSquared

1
Tôi đã làm điều này nhưng tôi không thể chạy ứng dụng trên trình mô phỏng của mình?
Drailan John Terrible

2
Sau khi xây dựng các "Pods-ProjectName" Tôi đã có thể chạy các dự án thực tế trên thiết bị của tôi ..
Tim Baas

14

GoogleToolboxForMac là một phần phụ thuộc của Firebase / Messaging. Chi tiết trong podspec . Khi thực hiện "cập nhật nhóm", Cocoapods nên thiết lập không gian làm việc của bạn để xây dựng và liên kết GoogleToolboxForMac.

Có vẻ như có điều gì đó về không gian làm việc của bạn đang ở trạng thái tồi tệ. Sản phẩm -> Làm sạch có trợ giúp không? Còn việc xóa Dữ liệu gốc và Bộ nhớ đệm Mô-đun (Xcode -> Tùy chọn -> Vị trí -> Dữ liệu gốc) thì sao?

Không cần thiết, nhưng bạn cũng có thể thử thêm pod 'GoogleToolboxForMac / Logger' vào Podfile của mình một cách rõ ràng.


Không, điều này không hiệu quả với tôi ... bằng cách mở dự án từ không gian làm việc đã hoạt động!
Jayprakash Dubey

2
@JayprakashDubey Câu trả lời này giả sử bạn đang bắt đầu từ không gian làm việc. Xem đoạn đầu tiên. Câu trả lời giải quyết một kịch bản khác dẫn đến cùng một triệu chứng.
Paul Beusterien

1
@PaulBeusterien Tôi đã thử mọi thứ bạn nói ở đây, nhưng vẫn không thể xây dựng.
Drailan John Terrible

6
công việc của nó
1. chọn dự án của bạn trong thư mục
2. chọn Chung
3. Thêm "GoogleToolboxForMac.framework" vào "khung và Thư viện" được Liên kết

Liên kết thư viện giải quyết rõ ràng nó cho tôi. Thanx!
Liquinaut

5

Điều này đã được khắc phục bằng cách thêm $ (kế thừa) trong Cài đặt bản dựng -> Tìm kiếm LIBRARY_SEARCH_PATHS.

Điều này có thể hiểu được, vì khi cập nhật tệp pod của bạn cho các phiên bản mới nhất của thư viện mà dự án của bạn phụ thuộc vào, đầu ra gỡ lỗi cho bạn biết nơi bạn cần thêm tất cả các cờ $ (kế thừa): LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS


đặt $ (kế thừa) ở đâu, tôi có nên nhấn + rồi nhập $ (kế thừa) không?
Drailan John Terrible

Vâng, bạn có thể bấm + và đầu vào $ (di truyền) hoặc chỉ cần nhấp đúp vào hộp chỉnh sửa và sau đó bạn có thể nhập $ (di truyền)
TomV

Điều này đã khắc phục sự cố của tôi! Cảm ơn bạn @TomV
Spettacolo83

2

Đi tới: target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"và xây dựng dự án.


1

Tôi đã gặp sự cố tương tự khi cố chạy nó trên thiết bị của mình. Trên trình mô phỏng, nó hoạt động tốt. Tôi đã thử một số cách trên nhưng nó không hiệu quả với tôi. Tôi đã kiểm tra rằng tôi đang làm việc trên .xcworkspacethay vì .xcodeprojtệp, vì vậy tôi đã thử cái này. Làm theo các bước sau để:

  1. Mở dự án Xcode (dự án cocoapods) bằng tệp .xc ...
  2. Chọn dự án Pods trong trình điều hướng dự án (biểu tượng màu xanh lam bên trái).
  3. Trong Mục tiêu, đảm bảo Pods-ProjectName (biểu tượng màu xanh lam) được chọn.
  4. Điều hướng đến Cài đặt bản dựng và đặt Mục tiêu triển khai iOS trên phiên bản iOS mà bạn sẽ chạy dự án.

Lưu ý: Nó giống như những gì bạn đã thiết lập Project->Targets->Deployment info->Deployment Target.

Có thể ai đó được hưởng lợi từ điều này.


1

Nếu bạn đang gặp phải lỗi tương tự, trong XCode của bạn, hãy truy cập:

Dự án của bạn > mục tiêu của bạn > Cuộn xuống Khung và Thư viện được Liên kết và kiểm tra xem mục Thư viện có bị mờ đi không:

Ảnh chụp màn hình Thư viện và Khung được Liên kết XCode

Nếu có, hãy xóa và thêm lại. Trong trường hợp của tôi, tôi có các mục nhập trùng lặp và một trong số chúng bị mờ (khi XCode không thể tìm thấy chúng trên đĩa).


0

Đóng dự án mà tôi đang cố gắng xây dựng sau khi tôi cài đặt pod, sau đó mở .workspace và sau đó mọi thứ xây dựng hoàn hảo.


0

Mở your-project.xcworkspace trong đích dự án của bạn.

1) Mở terminal -> 2) $ cd / project_destination -> 3) $ open your-project.xcworkspace

hoặc chỉ mở tệp trong công cụ tìm


0

Đảm bảo "Xây dựng cài đặt Kiến trúc Hoạt động" cho cả mục tiêu dự án và nhóm của bạn đều giống nhau. Đặt KHÔNG trong cả hai trường hợp này đã khắc phục được sự cố của tôi.


0

Vấn đề của tôi là tôi có tập lệnh / bin / sh đã sao chép các Nhóm cụ thể không tồn tại. Đây là một trong số đó. Xóa tập lệnh đã giải quyết được sự cố xây dựng.


0

-Tôi tìm kiếm các tệp GoogleToolboxForMac trong đĩa cứng, được tìm thấy trong: / Users / Marco / Documents / iosapps / BomRetiro / Bom Retiro / Pods / Target Support Files

  • Và sau đó tôi đã sao chép các tệp vào thư mục này: / Users / YourHomeFolder / Library / Developer / Xcode / DerivedData / Bom_Retiro-bsfjbazzzuwmuidqurdmjvdtnnsb / Build / Products

Và sau đó đối với tôi là giải quyết việc mở tệp .xcworkspace của dự án.


0

Đối với những người vẫn gặp vấn đề sau tất cả điều này. Tôi đang làm việc trên một dự án cordova và sự cố đột nhiên xuất hiện sau khi nâng cấp lên XCode 11.5.

Cuối cùng, tôi đã có thể giải quyết nó bằng cách mở tệp pods.json trong thư mục gốc của dự án và xóa mục nhập trong "thư viện" thuộc về "FirebaseMessaging". Chúng tôi đã không sử dụng nó và tôi không biết làm thế nào nó đến đó. Ngoài ra, tôi đã thay đổi "Cài đặt xây dựng" -> "Chỉ xây dựng kiến ​​trúc hoạt động" thành "Không" ở mọi nơi.

Sau đó, tôi mở lại tệp .xcworkspace và quá trình xây dựng chạy qua.


-1

Câu trả lời đơn giản của Swift 5

Shift+Alt+Cmd+K  //Clean the project and Run again! 
//if not work restart Xcode and again clean it 
//Its will work happy coding

-6
    Friends, you must be confused with the exact result, as i was. So, i feel to share the 
screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error.

    See the attached screenshot.
    Screen Shot 1, Screen Shot 2, Screen Shot 3
    [Select Pods][1]
    [Select Targets in the pod][2]
    [Change flag to No][3]


  [1]: https://i.stack.imgur.com/E7mjX.png
  [2]: https://i.stack.imgur.com/wCwET.png
  [3]: https://i.stack.imgur.com/KVGKM.png

Không đăng toàn bộ ảnh chụp màn hình, vui lòng chỉ cung cấp phần bên trong, bạn của tôi.
igraczech

Điều này đã hiệu quả, mặc dù sẽ tốt hơn nếu bạn giải thích các giải pháp thay vì đăng ảnh chụp màn hình. Giải pháp là thay đổi Chỉ vòm hợp lệ thành "Không" tại các mục tiêu của dự án và Pods.
Ignacio Barrea
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.