2012-02-19 31 views
5

Đối với một dự án tôi phải sử dụng AFNetworking. Có bản sao mới từ github và dự án ví dụ iOS dường như đang hoạt động.afnetworking - exc_bad_access trong startMonitoringNetworkReachability

Tuy nhiên - khi tôi sao chép thư mục "AFNetworking" tới dự án Xcode mới và cố gắng để thực hiện cuộc gọi http, nó bị treo trong initializer của AFHTTPClient

Vì vậy, trong [AFHTTPClient initWithBaseURL:] có mã này:

#ifdef _SYSTEMCONFIGURATION_H 
    [self startMonitoringNetworkReachability]; 
#endif 

và nó trông thật sự ngu ngốc nhưng

1) KHI tôi không liên kết SystemConfigura - dự án không biên dịch

(biểu tượng Không xác định cho kiến ​​trúc i386: "_SCNetworkReachabilityCreateWithName", tham chiếu từ: - [AFHTTPClient startMonitoringNetworkReachability] trong AFHTTPClient.o)

2) Khi tôi làm liên kết SystemConfigura - những tai nạn dự án trong thời gian chạy bên startMonitoringNetworkReachability với EXC_BAD_ACCESS:

SCNetworkReachabilitySetCallback(self.networkReachability, AFReachabilityCallback, &context); 

Có ai có vấn đề này không? Từ cách họ khen ngợi lib của họ trên github tôi nghĩ nó sẽ được đánh bóng hơn.

+0

vẫn không hoạt động đối với tôi, bất kỳ ai? –

+0

bạn có giải pháp nào không? Tôi có một ứng dụng có 2 mục tiêu, nó hoạt động trong một mục tiêu nhưng không hoạt động trong mục tiêu khác. Nó rất kì lạ. – nonamelive

+0

thực sự kỳ lạ thực sự, vẫn không có giải pháp cho rằng –

Trả lời

5

Theo the documentation:

Phương pháp này đòi hỏi phải có khuôn khổ SystemConfigura. Thêm nó vào giai đoạn xây dựng “Liên kết nhị phân với thư viện” của mục tiêu hoạt động và thêm #import vào tiền tố đầu trang của dự án (Prefix.pch).

Bạn đã bao gồm khung, nhưng bạn đã thêm #import <SystemConfiguration/SystemConfiguration.h> vào một nơi nào đó trong dự án chưa?

+0

việc nhập vào SystemConfiguration nằm trong tệp .pch của tôi, nhưng nó vẫn bị treo theo cách tương tự ... –

+0

yeah có vẻ như cách duy nhất để tôi nhận xét [self startMonitoringNetworkReachability] –

+0

Cùng một vấn đề ở đây. Có thể giải quyết nó theo cùng một cách bằng cách bình luận [self startMonitoringNetworkReachability] – Klaas

6

Nó sẽ sụp đổ nếu baseURL của bạn là 0.

+1

Điều này đã khắc phục sự cố cho tôi. Tôi đã kiểm tra đơn vị điều kiện khi một baseURL không hợp lệ hoặc không được sử dụng. –

+1

FYI, một 'nil'' baseURL' bây giờ sẽ ném một ngoại lệ trong AFNetworking mới nhất. – mattt

+0

Điều cần biết! Cảm ơn bạn, @mattt! – nonamelive