Cách khắc phục 'Lỗi: Kho thông số kỹ thuật của CocoaPods quá lỗi thời để đáp ứng các phụ thuộc' Đối với Flutter

Mar 22 2022
Đáng lẽ tôi phải viết bài này từ lâu. Nhưng tôi đã giải quyết được vấn đề trước khi tham gia Medium nên tôi đoán là tôi vẫn chưa giải quyết được vấn đề.
Ảnh của Seyiram Kweku trên Unsplash

Đáng lẽ tôi phải viết bài này từ lâu. Nhưng tôi đã giải quyết được vấn đề trước khi tham gia Medium nên tôi đoán là tôi vẫn chưa giải quyết được vấn đề.

Nhưng tôi nên làm vậy, bởi vì đây là một vấn đề thực sự lớn. Nó đã ảnh hưởng khá nhiều đến mọi dự án Flutter mà tôi từng xây dựng cho iOS tại một số thời điểm. Và trên hết là các hướng dẫn để giải quyết nó trực tuyến chỉ là sai. Chà, có lẽ chúng không sai, tôi chưa thử từng cái, chúng chỉ phức tạp quá mức.

Vậy bạn giải quyết vấn đề này như thế nào? Nó thực sự đơn giản.

Khắc phục

Vì vậy, khi bạn gặp lỗi này, bạn sẽ nhận được thông báo sau:

Error: CocoaPods’s specs repository is too out-of-date to satisfy
dependencies.
To update the CocoaPods specs, run:
 pod repo update

Ý tôi là, bạn có thể thử sử dụng lệnh đó. Nó sẽ không hoạt động.

Và điều khiến bạn vô cùng tức giận về điều này là lệnh bên phải quá gần. Đó chỉ là một từ tắt. Nó pod updatekhông phải pod repo update.

Chỉ cần đảm bảo trước tiên bạn cdvào thư mục iOS.

Bây giờ tôi không thể đảm bảo điều này sẽ luôn hoạt động, tôi có thể đã thực hiện một số thay đổi cấu hình khác nhau đối với máy của mình mà tôi đã quên, nhưng nó hoạt động với tôi.

Ồ không, đã xảy ra lỗi

Vì vậy, đừng hoảng sợ nếu có lỗi xảy ra sau khi bạn nhập lệnh này. Hoặc hoảng sợ nếu bạn không sử dụng máy Mac M1 (hoặc có thể là máy Mac dòng M) vì đây là vấn đề tôi đã viết cách đây khá lâu và vẫn chưa được khắc phục.

Dù sao thì việc sửa chữa cũng dễ dàng. Nhấp chuột phải vào tệp. '.

Bây giờ tôi thực sự đang sử dụng Hyper Terminal

mà tôi sử dụng ở chế độ không phải Rosetta bình thường. Sau đó, bất cứ khi nào tôi cần sử dụng lệnh này, tôi chuyển sang thiết bị đầu cuối thông thường chạy trong Rosetta.

Các vấn đề khác

Vì vậy, có thể có một số vấn đề khác. Bởi vì quá trình xây dựng iOS rất phức tạp. Nó không giống như Android mà nó là “Wham Bam Thank You Ma'am”.

Bởi vì Apple, với sự khôn ngoan vô hạn của họ, đã quyết định rằng mọi thứ liên quan đến lập trình đều thông qua XCode. Ý tôi là bạn thậm chí không thể cài đặt phiên bản Python mới nhất mà không cần phải sử dụng XCode, điều đó thật nực cười. Mặc dù tôi nghe nói MacOS cuối cùng đã được cập nhật lên Python 3. Cuối cùng.

Flutter làm mọi thứ trong khả năng của nó để tránh phải tương tác với Xcode nhiều nhất có thể. Lần duy nhất bạn tương tác với XCode là thiết lập nhóm phát triển của bạn và tải ứng dụng lên cửa hàng ứng dụng. Ban đầu có một bước 'lưu trữ' nhưng tôi đoán họ đã loại bỏ nó.

Mặc dù tôi đã phát hiện ra khi cố gắng tạo một ứng dụng dành cho máy tính để bàn rằng nếu bạn cố gắng tạo một ứng dụng Mac, bạn vẫn có thể thấy bước 'lưu trữ'.

Dù sao, điều này có nghĩa là bạn phải cẩn thận với bất kỳ mã liên quan đến iOS nào mà bạn thêm vào. Tôi đã thêm thứ firebase này một lúc trước vào iOS vì nó có trong hướng dẫn. Sai lầm lớn. Bởi vì, chắc chắn, nó hoạt động lúc đầu nhưng khi firebase cập nhật, nó bắt đầu phá vỡ các bản dựng.

Vì vậy, hãy cẩn thận.

Phần kết luận

Có rất nhiều người sợ iOS vì vấn đề này. Và không có gì phải sợ. Việc xây dựng lên iOS có thể dễ dàng như xây dựng lên Android miễn là bạn thực hiện đúng các bước.

Chờ đợi. Trước khi bạn đi tại sao không cho bài viết này một hoặc hai vỗ tay.

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved