2013-10-04 13 views
5

Tôi đang sử dụng Multipeer Connectivity Framework trong IOS7 để tạo ứng dụng trò chuyện. Và tôi đang sử dụng MCBrowserViewController tích hợp để hiển thị danh sách các đồng nghiệp lân cận.Kết nối đa năng IOS7 Tạo danh sách trình duyệt lân cận tùy chỉnh bằng cách sử dụng khám phá của nhà quảng cáo Info

Tôi muốn bao gồm thông tin hồ sơ của nhà quảng cáo trong danh sách ngang hàng gần đó. Vì vậy, các trình duyệt sẽ thấy danh sách chứa và hình ảnh và một số dữ liệu về các đồng nghiệp gần đó.

Tôi nghĩ rằng nó có thể được thực hiện bằng cách truyền dữ liệu thông qua discoveryInfo khi nhà quảng cáo được khởi tạo. Tôi vượt qua các dữ liệu discoveryInfo trong như thế này:

// create Discovery Info 
NSArray *objects=[[NSArray alloc] initWithObjects:@"datguy",@"28", nil]; 
NSArray *keys = [[NSArray alloc] initWithObjects:@"Name",@"Age", nil]; 
self.dictionaryInfo = [[NSDictionary alloc] initWithObjects:objects forKeys:keys]; 

// Setup Advertiser 
self.advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"txt_msg_service" discoveryInfo:self.dictionaryInfo session:self.advertiseSession]; 
[self.advertiser start]; 

Nhưng có cách nào để tạo ra một MCBrowserViewController tùy chỉnh để hiển thị discoveryInfo ở đầu bên kia thay vì sử dụng được xây dựng trong một? Có ai có bất kỳ mã ví dụ?

+1

tôi tìm thấy câu trả lời ở đây: http://stackoverflow.com/questions/19617882/creating-a-custom-mcbrowserviewcontroller –

Trả lời

1

Tôi khuyên bạn nên tạo bảngView của riêng mình để hiển thị danh sách các thiết bị lân cận từ MCBrowser của bạn.

Tôi đang tạo trình bao bọc bằng các phương thức tiện lợi để bạn có thể dễ dàng nhập các thiết bị lân cận dễ dàng hơn nhiều. https://github.com/thkien/THMultipeer

Đầu tiên thiết lập thông tin phát hiện của bạn như bạn muốn trước khi bạn bắt đầu phát sóng (điều này được bao gồm quảng cáo và trình duyệt):

THMultipeer.me().serviceType = "thkeen-test" 
THMultipeer.me().info = ["model": UIDevice.currentDevice().model] 
THMultipeer.me().broadcast() 

Bây giờ bạn có quyền kiểm soát đầy đủ về cách bạn muốn để cư UI. Tất cả bạn cần làm là thực hiện các đại biểu trong điều khiển điểm của bạn:

- (void)multipeerNewPeerFound:(MCPeerID*)peerID withName:(NSString*)name andInfo:(NSDictionary*)info atIndex:(NSInteger)index; 
- (void)multipeerPeerLost:(MCPeerID*)peerID atIndex:(NSInteger)index; 
- (void)multipeerAllPeersRemoved; 

Nếu bạn muốn nhận được toàn bộ danh sách bạn bè, chỉ cần gọi: THMultipeer.me().peers (Swift ngôn ngữ)

Tất cả mọi thứ đã được xử lý bởi các thư viện. Tuy nhiên, phần tôi đã không làm là MCSession tùy chỉnh, tôi chỉ được thực hiện với phần Discovery. Hy vọng tôi có thể hoàn thành nó trong 2 - 4 tuần. Thư viện nằm trong Objective-C nên nó phải tương thích ngược.

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