2015-01-22 7 views
-3

Как следует из этого вопроса, я хотел бы знать, как я могу использовать частный API в приватном приложении IOS 8.1 8.1.2. Он не будет проходить через магазин приложений. Мне нужно иметь программный контроль над режимом самолета, Wi-Fi, Bluetooth и сотовыми данными. Я читал онлайн снова и снова, что это невозможно, но я не могу поверить, что это правда. Я попытался создать категорию NSObject и просто вставить метод, который я хочу использовать для включения Wi-Fi. Тем не менее, я продолжаю получать Matcho-Link Error. Я добавил в библиотеку соответствующую структуру «обмена», поэтому не знаю, в чем проблема.Как использовать частный API Apple IOS 8 для не-jailbroken устройств для ad-hoc бизнес-распределения? В частности, включение Wi-Fi или данных сотовой связи

Моя категория

@interface NSObject (Wifi) 
- (void)setWifiEnabled:(BOOL)arg1; 
@end 

Интерфейс My ViewController в

#import <UIKit/UIKit.h> 
#import "NSObject+Wifi.h" 
@interface ViewController : UIViewController 


@end 

Реализация ViewController в

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 
- (IBAction)enableWifi:(UIButton *)sender { 
    NSObject * wifi = [[NSObject alloc]init]; 
    [wifi setWifiEnabled:YES]; 
} 

@end 

Сообщение об ошибке:

ld: framework not found Sharing 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Опять же, «Sharing.framework» добавлен и связан с проектом, и я проверил «Скопируйте файлы при необходимости». Как мне передать эту ошибку?

ответ

3

Это не то, как работают частные API. Сожалею.

Вы не можете просто создать имя метода для функции, которую вы хотите; вам нужно определить и вызвать класс и/или метод, который соответствует коду, который уже существует в рамках Apple. Поиск этих классов/методов является трудной частью и, как правило, требует много усилий при разборке. Короче говоря, это нетривиальная задача.

There is apparently a method with a similar name on the SBWiFiManager class, хотя я не могу подтвердить, все еще работает. (Возможно, это не так: недокументированные интерфейсы могут быть изменены.) Возможно, вы захотите попробовать.

В любом случае, рамки совместного использования, которые вы пытались связать, полностью не связаны. Удалите его из своего проекта.

+0

А? Я не просто вытащил метод из воздуха, глупый. Я получил заголовки от Гитуба. Но похоже, что я получил заголовок из предыдущей версии IOS, которая больше не доступна. Можете ли вы сделать мне одолжение и рассказать мне, почему я проголосовал? Это мой первый вопрос, и я хочу знать, что я сделал неправильно. Аналогичные вопросы касаются Stack, но я не нашел ясного ответа для IOS 8. Спасибо, что привел меня в правильном направлении. Я должен искать, как сделать дамп класса. Я также проверю SBWiFiManager. – Rafael

 Смежные вопросы

  • Нет связанных вопросов^_^