CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết blog CFSDN hướng dẫn chi tiết cách sử dụng iOS CocoaPods được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm tới bài viết này thì nhớ like nhé.
1. Cocoapod là gì.
1. Tại sao cần cacaopod? Khi phát triển iOS, việc sử dụng các thư viện mã nguồn mở của bên thứ ba là không thể tránh khỏi, chẳng hạn như sbjson, afnetworking, Reachability, v.v. Khi sử dụng các thư viện này bạn thường cần:
Tải mã nguồn của thư viện nguồn mở và đưa vào dự án. Thêm framework được thư viện nguồn mở sử dụng vào dự án. . Kiểm tra các khung được thêm trùng lặp và các vấn đề khác. Nếu thư viện nguồn mở được cập nhật, bạn cũng cần xóa các thư viện nguồn mở được sử dụng trong dự án và thực hiện lại ba bước trước đó, điều này đột nhiên khiến bạn cảm thấy nặng đầu. . . Vì chúng ta có cacaopod nên chúng ta không cần phải tự mình thực hiện những tác vụ phức tạp này nữa. Chúng ta chỉ cần thực hiện một lượng nhỏ công việc cấu hình và cacaopod sẽ làm mọi thứ cho chúng ta! .
2. Cocoapod là công cụ giúp chúng ta quản lý các thư viện phụ thuộc của bên thứ ba. Nó có thể giải quyết sự phụ thuộc giữa các thư viện, tải xuống mã nguồn của thư viện, đồng thời kết nối các thư viện của bên thứ ba này với các dự án của chúng tôi bằng cách tạo không gian làm việc xcode để chúng tôi phát triển và sử dụng.
Mục đích của việc sử dụng cacaopod là cho phép chúng tôi quản lý các thư viện nguồn mở của bên thứ ba theo cách tự động, tập trung và trực quan.
2. Cài đặt cacaopod.
1. Việc cài đặt cacaopod được thực hiện bằng ruby. Để sử dụng nó, trước tiên bạn cần có môi trường ruby. May mắn thay, hệ thống OS X đã có thể chạy Ruby theo mặc định nên chúng ta chỉ cần thực hiện lệnh sau:
?
1
|
$ sudo gem cài đặt cocoapods
|
cacaopod được cài đặt dưới dạng gói đá quý ruby. Trong quá trình cài đặt và thực thi, chúng tôi có thể được hỏi có cập nhật rake hay không, chỉ cần nhập y. Điều này là do gói đá quý cào sẽ kiểm tra kỹ hơn trong quá trình cài đặt. Nếu có phiên bản mới, tùy chọn chỉ sẽ xuất hiện. Khi kết thúc quá trình cài đặt, thực hiện lệnh:
Nếu không có thông báo lỗi nghĩa là quá trình cài đặt đã thành công! 2. Các vấn đề bạn có thể gặp phải trong quá trình cài đặt ① Không có phản hồi trong một thời gian dài sau khi thực hiện lệnh cài đặt. Điều này có thể là do nguồn mặc định của Ruby là cacaopod.org. Trung Quốc Đây là một giải pháp trực tuyến Đó là thay thế Yuan bằng cách thay thế như sau:
?
1
2
3
|
$ nguồn đá quý --
di dời
https:
$ gem sources -a http:
|
Để xác minh xem việc thay thế có thành công hay không, bạn có thể thực thi:
Đầu ra bình thường là:
?
1
2
3
|
*** nguồn hiện tại ***
http:
|
②Phiên bản gem quá cũ. Gem là gói tiêu chuẩn để quản lý các thư viện và chương trình ruby. Nếu phiên bản của nó quá thấp, nó cũng có thể khiến quá trình cài đặt không thành công. Giải pháp là nâng cấp gem và thực hiện lệnh sau:
?
1
|
$ sudo gem cập nhật --
hệ thống
|
③Sau khi cài đặt hoàn tất, xảy ra lỗi khi thực hiện lệnh pod setup:
?
1
2
3
4
|
/users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:trong `to_specs
': không tìm thấy '
cocoapods' (>= 0) trong tổng số 6 viên ngọc (gem::loaderror)
từ /users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:trong `to_spec'
từ /users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:trong `gem'
từ /users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:trong `'
|
Đây là sự cố với cài đặt đường dẫn, có thể được thực hiện bằng cách thực thi:
?
1
|
$ rvm sử dụng ruby-1.9.3-p448
|
Giải quyết vấn đề. 3. Nâng cấp cacaopod rất đơn giản. Chỉ cần thực hiện lại lệnh cài đặt:
?
1
|
$ sudo gem cài đặt cocoapods
|
Cần lưu ý rằng nếu bạn sử dụng sudo trong quá trình cài đặt thì bạn cũng cần sử dụng từ khóa này khi nâng cấp, nếu không vấn đề không khớp đường dẫn sẽ xảy ra sau khi nâng cấp.
3. Sử dụng cacaopod. Nếu trước đó mọi thứ đều ổn, bạn có thể trải nghiệm sự kỳ diệu của cacaopod. Bạn cần thực hiện các bước sau:
Để minh họa quá trình này, tôi đã tạo một dự án có tên là cacaopodtest.
1. Tạo podfile Mọi thứ trong cacaopod đều bắt đầu bằng một tệp có tên podfile. Trước tiên, chúng ta cần tạo tệp này. Cá nhân tôi đã quen với việc sử dụng dòng lệnh nên tôi làm điều này:
?
1
2
|
$ cd /users/wangzz/desktop/cocoapodstest
$ chạm vào podfile
|
Đầu tiên, nhập thư mục gốc của dự án và tạo một tệp podfile trống. Cấu trúc thư mục đã tạo như sau:

(ps: File podfile không cần phải đặt trong thư mục gốc của project nhưng sẽ rắc rối hơn một chút. Sẽ được giới thiệu ở bài viết tiếp theo, các bạn nhớ theo dõi nhé.).
2. Chỉnh sửa podfile. Nếu cần, chúng ta có thể viết các thư viện của bên thứ ba mà chúng ta cần sử dụng trong podfile. Lấy ba thư viện sbjson, afnetworking và Reachability làm ví dụ, nội dung của podfile của tôi như sau:
?
1
2
3
4
5
6
|
nền tảng :ios
dưới
'khả năng tiếp cận'
,
'~> 3.0.0'
dưới
'sbjson'
,
'~> 4.0.0'
nền tảng :ios,
'7.0'
dưới
'mạng lưới'
,
'~> 2.0'
|
3. Sau khi hoàn tất mọi bước chuẩn bị để thực hiện lệnh nhập, hãy bắt đầu nhập thư viện của bên thứ ba:
?
1
2
|
$ cd /users/wangzz/desktop/cocoapodstest
$ pod cài đặt
|
Đầu tiên hãy vào thư mục gốc của dự án, sau đó thực thi lệnh pod install. Cocoapod sẽ bắt đầu tải mã nguồn, định cấu hình các phần phụ thuộc, giới thiệu framework cần thiết và các tác vụ khác cho chúng ta. Kết quả thực thi của lệnh được in như sau:
?
1
2
3
4
5
6
7
8
9
|
phân tích sự phụ thuộc
tải xuống các phụ thuộc
cài đặt afnetworking (2.1.0)
cài đặt jsonkit (1.5pre)
cài đặt reachability (3.0.0)
dự án tạo pod
tích hợp dự án khách hàng
[!] từ bây giờ hãy sử dụng `cocoapodstest.xcworkspace`.
|
Điều này cho thấy lệnh pod install đã được thực thi thành công. Chúng ta hãy xem những thay đổi trong thư mục gốc của dự án, như dưới đây:

Như bạn có thể thấy, có thêm ba thứ nữa trong thư mục gốc của dự án: cacaopodtest.xcworkspace, tệp podfile.lock và thư mục pod.
(ps: Dung lượng có hạn, file podfile.lock sẽ được giới thiệu ở bài viết tiếp theo trong loạt bài, các bạn nhớ theo dõi nhé.).
Nhìn vào dòng cuối cùng của nội dung được in sau khi thực hiện lệnh pod install:
?
1
|
[!] từ bây giờ hãy sử dụng `cocoapodstest.xcworkspace`.
|
Xin lưu ý rằng từ giờ trở đi, chúng tôi cần sử dụng tệp cacaopodtest.xcworkspace để phát triển. Về những thay đổi đã xảy ra trong dự án, có một số điểm cần được giải thích:
Thư viện của bên thứ ba sẽ được biên dịch thành thư viện tĩnh để sử dụng trong các dự án thực tế của chúng tôi.
Cocoapod sẽ kết hợp tất cả các thư viện của bên thứ ba vào một dự án gọi là pod dưới dạng target và dự án sẽ được đặt trong thư mục pod mới được tạo. Toàn bộ dự án thư viện của bên thứ ba sẽ tạo một thư viện tĩnh có tên libpod.a để dự án cacaopodtest của chúng tôi sử dụng.
Dự án của chúng tôi và dự án nơi đặt thư viện của bên thứ ba sẽ được quản lý bởi một không gian làm việc mới được tạo để tạo điều kiện thuận lợi cho việc quản lý dự án và thư viện của bên thứ ba một cách trực quan, dự án cacaopodtest và dự án nhóm sẽ được tổ chức và quản lý. ở dạng không gian làm việc, đó là những gì chúng ta vừa thấy đối với tệp cacaopodtest.xcworkspace.
。
Cài đặt dự án ban đầu đã được thay đổi. Tại thời điểm này, nếu chúng ta trực tiếp mở tệp dự án gốc để biên dịch, chúng ta sẽ chỉ có thể sử dụng không gian làm việc mới được tạo để quản lý dự án.
Mở cacaopodtest.xcworkspace lên, giao diện như sau:

Cấu trúc thư mục của dự án vẫn còn rất rõ ràng.
Tham khảo tệp tiêu đề của thư viện bên thứ ba vừa được thêm vào dự án, thực hiện thao tác biên dịch và đó là thành công quyết định! Đến đây, bài viết về sử dụng cacaopod đã kết thúc. Tiếp theo, tôi dự định sẽ sử dụng một bài viết khác để giới thiệu những điều sâu hơn một chút về cacaopod, các bạn hãy chú ý theo dõi nhé.
4. Tài liệu tham khảo.
1、http://code4app.com/article/cocoapods-install-usage 2、http://cocoapods.org/ 。
Cuối cùng, bài viết về cách sử dụng chi tiết của iOS CocoaPods kết thúc tại đây. Nếu bạn muốn biết thêm về cách sử dụng chi tiết của iOS CocoaPods, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai. ! .
Tôi là một lập trình viên xuất sắc, rất giỏi!