2012-04-09 28 views
6

tôi đang nhận được lỗi này:Lỗi với iOS 5.1 khi tôi sử dụng ASIHTTPRequest và SBJSON

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_ASIHTTPRequest", referenced from: 
     objc-class-ref in FirstViewController.o 
    "_OBJC_CLASS_$_SBJsonParser", referenced from: 
     objc-class-ref in FirstViewController.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Lưu ý tôi đã thêm các khung đồ họa lõi, cấu hình hệ thống, dịch vụ cốt lõi di động, libz.dylib, libz.1.2. 5.dylib, Mạng CF, UI Kit và Foundation. Tôi đã tìm kiếm tất cả các diễn đàn và dành gần 4 ngày nhưng không tìm ra nguyên nhân.

Khi tôi nhận xét dòng mã ASIHTTPRequest và SBJSON của tôi, nó hoạt động tốt. Tôi đã thêm tất cả các lớp cho ASIHTTPRequest và SBJSON và kiểm tra ba lần. Có ai có thể gợi ý tôi đang làm gì sai?

+0

Có bất kỳ câu trả lời nào hữu ích cho bạn không? Nếu vậy, bạn nên chấp nhận một trong số họ. –

Trả lời

0

Đối với lỗi ASIHTTPRequest, có vẻ như bạn chưa thêm ASIHTTPRequest.m vào dự án của mình.

(Hoặc bạn đã thêm ASIHTTPRequest.m, nhưng đã quên đề cập đến 4 tỷ lỗi xcode được phát ra về ARC - xem Why are my ASIHTTPRequest files showing ARC errors?)

+0

chỉ cần khởi động lại một lần sau khi xóa có thể là dự án của tôi là dưới phần không được công nhận, đến để biết trong thiết bị đầu cuối ps -el | grep 'Z' – Vacca

10

tôi sẽ xem xét phần giai đoạn xây dựng trong mục tiêu của bạn. Trong "Biên dịch nguồn", hãy đảm bảo bạn xem tệp .m cho ASIHTTPRequest và cho SBJson. Đôi khi khi bạn kéo các lớp bên ngoài vào một dự án, ngay cả khi bạn chọn hộp để sao chép các tệp vào dự án của bạn, chúng không biến nó thành các nguồn biên dịch này. Khi bạn kéo một tệp vào Xcode, có một hộp kiểm để thêm tệp vào đích. Nếu điều này không được kiểm tra, tệp sẽ không làm cho nó thành các Nguồn Biên dịch. Xóa các tệp và thêm lại chúng, đảm bảo tệp này được chọn (hoặc bạn có thể thêm tệp .m theo cách thủ công nếu bạn muốn).

3

tôi có vấn đề này như nhau, nhưng khi tôi bao gồm các khung làm việc sau enter image description here

now..Don't làm việc tốt của nó quên bao gồm -fno-objc-arc trong nguồn biên dịch enter image description here

Best Wishes .......

4

Đối ASIHTTP Yêu cầu thêm các khuôn khổ như sau:

  • libz.1.2.5.dylib
  • SystemConfigura
  • UIKit
  • Foundation
  • CoreGraphics
  • MobileCoreServices
  • CFNetworks

Nếu bạn đang sử dụng các lớp học ASIHttp trong iOS 5 hoặc mới hơn, bạn cần bật ARC tắt cho ASIHttpRequest các lớp trong Project-> Build Phases -> Compile Sources bằng cách sử dụng -fno-objc-arc cho các lớp ASI API.

Hy vọng nó sẽ giải quyết được vấn đề.

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