2012-06-04 26 views
7

Bạn sử dụng ShareKit bằng MonoTouch như thế nào?ShareKit với MonoTouch như thế nào?

MonoTouch Bindings project on GitHub dường như có bindings for ShareKit nhưng tôi không thể khiến chúng hoạt động. Tôi hiện đang có một ứng dụng iPhone được phát triển bằng MonoTouch trong MonoDevelop, nhưng tôi không có ý tưởng làm thế nào để thực sự có được ShareKit vào ứng dụng của tôi.

Tôi đã tải xuống dự án MonoTouch Bindings, nhưng khi tôi make trong thư mục ShareKit, có vẻ như yêu cầu chính ShareKit. Sau đó tôi đã tải xuống ShareKit, nhưng tôi không chắc chắn liệu tôi có nên thực hiện theo các hướng dẫn cài đặt để tích hợp ShareKit vào một dự án XCode hay thậm chí là tôi có nên xây dựng ShareKit hay không. Tôi đã thử "xây dựng" một dự án ứng dụng iPhone trống với ShareKit nhưng các phần của hướng dẫn không được cập nhật cho XCode mới nhất, có vẻ như, tôi đã bị kẹt trong quá trình này. Tôi đang cố gắng để có được điều này làm việc nhưng kinh nghiệm của tôi với XCode cho đến nay đã được giới hạn ở những gì ít cần thiết cho phát triển MonoTouch.

Hoặc có một "nhị phân" nhị phân của iOS nhị phân có thể được sử dụng với MonoTouch không?

Ai đó có thể xác minh rằng ShareKit thực sự có thể sử dụng được với MonoTouch và hướng dẫn tôi qua các bước cần thiết để làm cho nó hoạt động?

Cảm ơn trước!

Trả lời

2

Lần đầu tiên bạn tải xuống từ getsharekit.com hoặc bạn đang sử dụng ShareKit 2.0? Nếu bạn đang sử dụng DL từ getsharekit thì tôi khuyên bạn nên nâng cấp trước tiên. Thứ hai ở đây một số hướng dẫn cài đặt cơ bản để nhận ShareKit để làm việc với MonoTouch:

bước

1) Tải về mã

2) Open in Xcode và nếu nó là một ứng dụng tạo ra một Xcode mới dự án loại thư viện iOS

3) Biên soạn thư viện và lưu ý các khung cần thiết - chúng sẽ giúp bạn sau này khi liên kết trong monotouch

3) Biên dịch phiên bản lib của i386 Sim và đổi tên thành libXYZLib_Sim.a - sao chép nó vào/Lib trong dự án của bạn và thiết lập hành động xây dựng thành Không.Bạn có thể tìm thấy điều này trong/ProjectLib/build/Debug-iphonesimulator/

4) Biên dịch phiên bản arm6 với phiên bản chính xác & sao chép mã này vào/Lib trong dự án của bạn và đặt hành động xây dựng thành Không. Bạn có thể tìm thấy điều này dưới/ProjectLib/build/Debug-iphoneos/

5) Chạy NovellHeaderParser như vậy đối với các thư mục thư viện chứa các file .h

@@ mono "/ Users/XX/Dự án/NovellHeaderParser/NovellHeaderParser/bin/Debug/NovellHeaderParser.exe"/ Users/XX/Documents/ShareKitLib/ShareKit/Core @@

này nên tạo ra một tập tin MonoMac.cs rằng bạn có thể nhập vào hệ thống của bạn

6) Lặp lại bước 5 cho các thư mục khác. LƯU Ý bạn sẽ thực sự chỉ phải chạy trình phân tích cú pháp đối với các tệp .h với các điểm nhập, ví dụ: các lớp cấp cao nhất mà API gọi trực tiếp. các lớp con, utils, các phương thức trợ giúp không cần phải được phân tích cú pháp.

7) Kết hợp tất cả các tập tin vào một tập tin MonoMac.cs MyLib.cs mới và bổ sung vào dự án theo/Lib - thiết xây dựng tùy chọn của nó tới Không

8) Thay đổi bất kỳ tài liệu tham khảo từ MonoMac để MonoTouch

10) Trình phân tích cú pháp có thể tạo tệp enum.cs cho mỗi thư mục được phân tích cú pháp nhưng nếu không tạo riêng MyLibEnum.cs với bất kỳ cấu trúc hoặc enums nào cần thiết bởi API - thêm nó vào/Lib và đặt tùy chọn xây dựng Không có

11) Mở cửa sổ đầu cuối và điều hướng đến thư mục/Lib của dự án

12) chạy dòng lệnh btouch sau - điều này sẽ tạo ra một wrapper.dll từ các giao diện được xác định trong MyLib.cs @@ /Nhà phát triển/MonoTouch/usr/bin/btouch -v MyLib.cs -s MyLibEnum.cs @@

13) Thêm bất kỳ sự đếm thiếu hoặc cấu trúc để MyLibEnum.cs và lặp lại Bước 12

14) Sửa chữa bất kỳ nhiều khai báo của bộ chọn bằng cách đổi tên họ - điều này có thể gây phiền toái sau (xem lưu ý 1)

15) Khắc phục mọi tham chiếu bị thiếu, ví dụ: NSMutableArray dường như không tồn tại trong monotouch vì vậy tôi thay đổi này để NSArrays (Tôi nghĩ rằng đây là mutable dưới monotouch anyway ???)

16) Quay lại 12) và lặp lại cho đến khi một dll được tạo ra.

17) Thêm một tham chiếu đến các dll vào dự án

18) Thêm dòng sau vào Build> Tùy chọn mtouch thêm iPhone ĐẾN BUILD SIMULATOR debug/release: @@ -gcc_flags "-L $ {ProjectDir}/Lib -lMyLib_Sim -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load $ {ProjectDir}/Lib/libMyLib_Sim.một -ObjC" @@

'' 'Chú ý' ''

không dấu/trên -L $ {ProjectDir}/Lib

-lShareKitLib_Sim không cần cần tiền tố lib bắt đầu hoặc. một hậu tố

thêm một -framework cho mỗi khung được sử dụng trong việc tạo ra các lib - trên không phải là một danh sách exaustive

19) Thêm đoạn mã sau vào iPhone Xây dựng> tùy chọn mtouch thêm cho iPhone debug/release BUILD: @@ -gcc_flags "-L $ {ProjectDir}/Lib -lMyLib -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load $ {ProjectDir} /Lib/libMyLib.a -ObjC" @@

20) KIỂM TRA NÓ!

+0

Tôi không quan tâm nếu câu trả lời này là chính xác, kudo cho nỗ lực! – scorpiodawg

+0

Cảm ơn hy vọng nó sẽ giúp OP! Ngoài ra vui lòng bỏ phiếu nếu bạn cho rằng câu trả lời sẽ giúp –

+0

Thật tuyệt vời! Tôi sẽ kiểm tra vào ngày mai. Kể từ khi tiền thưởng chạy ra trước đó, tôi sẽ chỉ chấp nhận điều này phần lớn dựa trên những nỗ lực của bạn. –

5

Hầu hết thời gian khi bắt đầu với các liên kết trong MonoTouch, bạn phải tải xuống các ràng buộc (hoặc SDK) của thư viện thực. Ví dụ, với các ràng buộc TestFlight, bạn được yêu cầu tải xuống SDK và đặt nó trong cùng thư mục với tệp makefile. Tôi đã không cá nhân expieremented với ShareKit, nhưng tôi cho rằng nó sẽ làm việc theo cùng một cách (Tôi biết cho một thực tế nhất, nếu không phải tất cả, của các ràng buộc trong MT bindings GitHub dự án làm việc theo cách đó). Bạn không cần phải đối phó với Xcode cả. Chỉ cần tải xuống SDK, đặt SDK vào đúng thư mục và chạy tệp makefile. Điều đó sẽ nhổ một DLL để bạn tham khảo để sử dụng với MonoTouch.

Một trong những hạn chế của việc sử dụng các ràng buộc ShareKit là, theo như tôi biết, các điều chỉnh giao diện người dùng phải được thực hiện trong Mục tiêu-C trước khi bạn thử và sử dụng trình liên kết. Nếu bạn ổn với giao diện người dùng ngoài hộp, thì tôi sẽ thực hiện nó. Nếu không, có rất nhiều thư viện mã nguồn mở khác để tạo một hộp thoại chia sẻ đơn giản (và giờ đây Twitter được tích hợp sẵn trong iOS, nó thậm chí còn dễ dàng hơn).

+0

Thư mục chính trong zip đã tải xuống dường như được đổi tên thành bộ chia sẻ và được đặt bên trong thư mục (https://github.com/mono/monotouch-bindings/tree/master/ShareKit/bindings). – Rodja

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