2010-10-20 37 views
5

Làm cách nào để loại trừ các thư viện mà tôi đã biên soạn chỉ cho kiến ​​trúc thiết bị iOS (libssh2, v.v.) từ dự án Xcode khi tôi biên dịch ứng dụng chạy trên trình mô phỏng?Làm cách nào để loại trừ các khung trong trình mô phỏng xây dựng trong Xcode

+0

tại sao không biên dịch chúng cũng cho i386 và tạo một "nhị phân" chung với "lipo"? Sau đó, bạn cũng có thể kiểm tra libss2, v.v. trên trình mô phỏng. Bạn có cần giúp đỡ về điều đó không? –

Trả lời

1

Tôi biết đây là một câu hỏi cũ, nhưng nếu ai đó vẫn đang tìm kiếm câu trả lời, bạn có thể sử dụng Yếu Linking để xác định rằng các thư viện nào đó là tùy chọn .

Xem this answer for how to define a weak/optional link in XCode 4

Sau đó, trong đoạn code mà thông thường sẽ sử dụng các tính năng, bạn có thể phát hiện rằng bạn đang ở trong mô phỏng tại thời gian biên dịch với

#if TARGET_IPHONE_SIMULATOR 

    NSLog(@"I'm in the simulator"); 

#endif 

hoặc tại thời gian chạy bằng cách kiểm tra giá trị của

[[UIDevice currentDevice] model] 

và lập trình tránh sử dụng thư viện không tồn tại trong môi trường trình mô phỏng.

+0

Tại sao ý tưởng làm thế nào để không nhúng cả hai khuôn khổ vào ipa? –

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