2016-02-16 24 views
6

bước của tôi là:Realm ứng dụng mẫu Swift OSX Cocoapods treo

1) Trong Xcode, tôi tạo ra một dòng lệnh OSX Swift ứng dụng mới và thêm tấm gương của họ "class Dog" mã, cộng với "nhập khẩu RealmSwift" ở hàng đầu.

2) Tôi thêm một Podfile có hai dòng, "use_frameworks!" và "pod 'RealmSwift'" và sau đó chạy cài đặt nhóm.

3) Tôi mở không gian làm việc, biên dịch và chạy. Tôi nhận được cảnh báo này:

Không chạy nhanh-stdlib-công cụ: EMBEDDED_CONTENT_CONTAINS_SWIFT được bật nhưng loại sản phẩm 'Công cụ dòng lệnh' không phải là loại trình bao bọc.

Và vụ tai nạn này:

dyld: Thư viện không nạp: @ rPath/libswiftAppKit.dylib tham chiếu từ:/Users/ys1382/Library/Developer/Xcode/DerivedData/testRealmApp-gxysfwfiirxwddbklmbolznecnld/Xây dựng /Products/Debug/RealmSwift.framework/Versions/A/RealmSwift Lý do: hình ảnh không tìm thấy

cho đến nay googling chỉ ra cảnh báo và vụ tai nạn có liên quan. Bất kỳ đề xuất?

Tôi đang sử dụng OSX El Capitan, Xcode 7.2.1, Cocoapods 0.39.0

+1

Hmm, tôi nghĩ rằng nó liên quan đến điều này: https://github.com/realm/realm-cocoa/issues/975 Trong các tiện ích dòng lệnh đó không có gói để sao chép. Điều đó đang được nói, tôi đang tìm kiếm để xem nếu có một cách xung quanh nó với CocoaPods. – TiM

+1

Có cách nào được khuyến nghị sử dụng Realm trong ứng dụng dòng lệnh không, nếu không phải với CocoaPods? Hay Realm sẽ có vấn đề đó không phân biệt? –

Trả lời

7

bình luận của Tim dẫn tôi để tìm hiểu rằng, như các văn bản này, đó là hầu như không thể thêm khung để Swift dòng lệnh ứng dụng. This blog post mô tả một cách. Bắt đầu với bước 1, nó cho biết:

  1. Tạo công cụ dòng lệnh-C mục tiêu và thay đổi Đường dẫn tìm kiếm. Không phải Swift. Bạn có thể tạo một khung công tác Swift cho mã mà bạn đã đặt trong công cụ dòng lệnh của mình, nhưng chính công cụ đó không được biên dịch bất kỳ mã Swift nào. Làm như vậy sẽ gây nhầm lẫn cho trình liên kết và làm cho nó nhìn thấy các khai báo trùng lặp của thư viện Swift (một trong các .dylib được vận chuyển, một được nhúng trong công cụ dòng lệnh).

This presentation cho thấy một cách tiếp cận khác nhau, bắt đầu với việc tạo ra một ứng dụng Cocoa, và sau đó ép buộc nó vào một ứng dụng dòng lệnh, trong 31 bước. Đó là vào thời điểm đó tôi nghĩ, "mmmaybe công cụ dòng lệnh của tôi có thể sử dụng một số đồ họa tiện lợi sau khi tất cả" và thực hiện một ứng dụng Cocoa OSX Swift Realm Cocoapod thay vào đó, mà làm việc.

+4

Không thể liên kết tĩnh Swift framework là một nỗi đau lớn. Một vài dự án OSS Swift CLI phổ biến xây dựng một ứng dụng Mac không có GUI. Xem Carthage, SourceKitten và SwiftLint để biết ví dụ. – jpsim

+0

Mọi thứ đang thay đổi. Các khung công tác tĩnh với Swift làm việc kể từ XCode 9. CocoaPods và Carthage đang thêm hỗ trợ. Tình hình thông thạo; nếu bạn tìm thấy điều này thông qua Google như tôi đã làm, bạn chắc chắn muốn kiểm tra trạng thái hiện tại. – Raphael

Các vấn đề liên quan