2014-06-05 21 views
17

Tôi đang thử dùng Swift trong bản thử nghiệm XCode. Cụ thể là sử dụng @IBDesignable và @IBInspectable. Tôi đang xây dựng một khung công tác có chứa một lớp con UIView (@IBDesignable) và một Ứng dụng iOS đơn giản để kiểm tra nó (Cả hai đều có trong và được liên kết thông qua một không gian làm việc). Sau một vài lần xây dựng thành công, tôi nhận được lỗi sau trong đầu ra xây dựng khung:Lỗi biên dịch khuôn khổ Swift liên tục

: 0: error: /Users/richardpj/Projects/Swift2/Swift2FW/build/Swift2FW.build/Debug-iphonesimulator/Swift2FW.build/ unextended-module.modulemap: 2: ô tiêu đề 'Swift2FW.h' không tìm thấy : 0: lỗi: không thể xây dựng mô-đun Objective-C 'Swift2FW'

Trước khi bạn yêu cầu tôi đã làm sạch và xóa nguồn gốc của tôi dữ liệu nhưng dường như không có gì để giải quyết nó trừ việc xóa và tạo lại các tệp dự án và không gian làm việc.

Bất kỳ ý tưởng nào về nguồn gốc của lỗi, cách sao chép (đối với báo cáo lỗi) HOẶC tôi có ngốc không.

EDIT: Tôi đã nhận được 50 lượt xem kể từ khi bài đăng này được đăng. Có vẻ như đó là lỗi tôi nên báo cáo. Bất kỳ ý tưởng về cách làm điều đó?

+0

bạn đã cố gắng dọn dẹp dự án, đặt lại trình mô phỏng rồi đóng/mở Xcode? đôi khi nó có thể giúp ích. – mohacs

+0

Có, tôi đã thử tất cả nội dung đó và hơn thế nữa. Có vẻ như tập tin dự án đã bị hỏng. Việc tái tạo nó giống hệt nhau là bản sửa lỗi duy nhất hoạt động cho tôi cho đến nay. – richardpj

+1

Bạn có thể báo cáo lỗi [tại đây] (https://bugreport.apple.com/) – aleclarson

Trả lời

5

Tôi đã nhìn thấy lỗi này khi tệp ô .h có cùng tên với một trong các tệp nhanh chóng của tôi. Khi tôi đã thay đổi tên của tập tin nhanh chóng, khung được xây dựng.

Ex. Project Name: TestProject 
|_ 
    TestProject.h <= 
    |_ 
    Models 
    |_ 
     TestProject.swift <= 

Có hai tập tin với các mũi tên (< =) có tên tương tự gây ra "không thể xây dựng mô-đun Objective-C" lỗi cho tôi.

+0

Tệp của tôi không được đặt tên theo cách đó. Tuy nhiên, mục tiêu thử nghiệm được tạo tự động. Tôi sẽ cho nó một cái nhìn và cho bạn biết. Cảm ơn vì bạn đã phản hồi. – richardpj

+0

Tạo Giải pháp mới chứa các tệp có tên khác với tiêu đề ô. Đã xóa các mục tiêu thử nghiệm và tệp của chúng để chắc chắn. Vẫn gặp sự cố tương tự. Sau một vài lần xây dựng nó đã cho cùng một lỗi. :( – richardpj

0

Tôi không biết nếu điều này sẽ giúp bất kỳ ai khác nhưng tôi đã nhập tệp ProjectName-Swift.h vào tệp ProjectName.h (ô tiêu đề) trong khi thử nghiệm và khi tôi xóa lỗi nhập thì đã biến mất và tôi đã có thể xây dựng lại.

1

Trong trường hợp của tôi, tôi đã có cài đặt xây dựng trước đó vượt quá Đường dẫn thư mục tiêu đề công khai (PUBLIC_HEADERS_FOLDER_PATH). Việc xóa giá trị mặc định của (mới?) Là $(CONTENTS_FOLDER_PATH)/Headers đã sửa lỗi.

1

Trong trường hợp của tôi, tất cả những gì tôi phải làm là mở cửa sổ "Chỉnh sửa Đề án" (Sản phẩm> Lược đồ> Chỉnh sửa Đề án) cho mục tiêu Swift Framework được nhúng và bỏ chọn "Chia sẻ". Tôi đoán vì khung công tác Swift không được nhúng chưa được hỗ trợ, việc chia sẻ một lược đồ khung có nghĩa là phải có một thành phần Objective-C của mô-đun.

Bạn cũng có thể bỏ chọn điều này trong cửa sổ "Quản lý lược đồ" (Sản phẩm> Lược đồ> Quản lý lược đồ ...).

8

Khi tạo khung công tác nhanh chóng của riêng tôi, tôi gặp lỗi "không thể xây dựng mô-đun Mục tiêu-C".

Tôi đã sửa lỗi bằng cách chuyển đến "Liên kết nhị phân với thư viện" và thêm "UIKit".

1

Sau khi gặp vấn đề này nhiều lần và đôi khi phải dùng để tái tạo toàn bộ dự án tôi đã thấy rằng vấn đề xây dựng rất lạ này thường do bạn đặt Breakpoints.

Mở Cửa sổ điều hướng điểm ngắt (CMD-7) và xóa tất cả các điểm ngắt.

Điều này thường khắc phục vấn đề này đối với tôi tuy nhiên kỳ quái có thể là âm thanh.

Rất dễ dàng vô tình thêm điểm ngắt khi bạn nhấp vào lề để điều tra lỗi biên dịch.

+0

Lý do cơ sở lý luận của tôi nói đây có lẽ là sự trùng hợp, nhưng sau khi tôi đã loại bỏ một Exception Breakpoint trong dự án khung công tác, tôi cũng có thể xây dựng dự án sử dụng khung công tác. Tuy nhiên, nó đã biến mất sau một thời gian (?) có thể là trùng hợp ngẫu nhiên. – LearnCocos2D

8

Trong trường hợp nếu bạn đang viết khung nhúng trong Swift, hãy kiểm tra Cài đặt dự án của bạn -> Tên mục tiêu khung -> Giai đoạn xây dựng -> Tiêu đề. Hiện nay (Xcode 6.2) bất kỳ tập tin tiêu đề được liệt kê trong phần Công ở đây có thể gây ra lỗi này:

<unknown>:0: error: could not build Objective-C module 'YourFrameworkName'

0

Trong trường hợp của tôi này hóa ra là bởi vì tôi đã thất bại trong việc liệt kê khuôn khổ như một sự phụ thuộc vào xây dựng các giai đoạn của (các) mục tiêu khác của tôi. Ngay sau khi tôi đã làm điều đó, tất cả đều tốt.

Tôi cho rằng đó là vì điều này đảm bảo rằng khung được xây dựng trước (các) đích sử dụng nó.

Lý do vấn đề này là gián đoạn rõ ràng rằng, không có sự phụ thuộc, thứ tự của tòa nhà là không xác định - vì vậy đôi khi nó xảy ra là đúng thứ tự và công trình xây dựng, và lần khác nó xảy ra sai trật tự và việc xây dựng không thành công.

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