2015-05-27 2 views
0

Сейчас я создаю проект на основе приложения Single View на Xcode6.3.1, затем создаю кнопку на Main.storyboard. Код такой же, как при нажатии кнопки:Как открыть приложение с помощью идентификатора пакета на iOS

NSString * bundleId = @"com.apple.iBooks"; 
void* sbServices = dlopen("/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices", RTLD_LAZY); 
int (*SBSLaunchApplicationWithIdentifier)(CFStringRef identifier, Boolean suspended) = dlsym(sbServices, "SBSLaunchApplicationWithIdentifier"); 
const char *strBundleId = [bundleId cStringUsingEncoding:NSUTF8StringEncoding]; 
int result = SBSLaunchApplicationWithIdentifier((__bridge CFStringRef)bundleId, NO); 
dlclose(sbServices); 

Но это не сработало. Тогда мне нравится этот сайт, скажите мне, Launch other application without URL schema in iphone? Это тоже не сработало. Пожалуйста, помогите мне. Мое устройство - iPhone4s, iOS 7.1.2, jailbroken.

+0

Возможный дубликат [Как запустить APP в фоновом режиме в iOS 6.x без звука] (http://stackoverflow.com/questions/14999658/how-to-launch-an-app-in-background-in- ios-6-x-silent) – creker

+0

@creker - спасибо за ваш ответ, но, возможно, ссылку http://stackoverflow.com/questions/14999658/how-to-launch-an-app-in-background-in- ios-6-x-silent не может решить мою проблему – steiff

+0

, тогда вы сделали что-то не так. Прочитайте о правах, без них код не будет работать – creker

ответ

1

* Для Jail Break вы можете продолжить *

Существует механизм известен как URL scheme, который может быть использован, чтобы открыть приложение внутри вашего приложения. но для этого вам нужно сделать правильный набор url setUp в вашем файле plist. Я сильно чувствую, что вы не смотрите на этот вариант.

* Существует еще один способ строго не рекомендуется (кроме JailBreak ТЕЛЕФОНОВ) АНИ является частным *, но вы можете сделать попытку & пользоваться в режиме разработки.

  • openApplicationWithBundleID: Чтобы открыть приложение, используя идентификатор пакета.
  • - (NSArray*)allInstalledApplications;: Это отобразит все установленное приложение на вашем устройстве.

Если вы хотите увидеть интересные демо он это, любезно run this app в телефоне & увидеть компании Apple Часы стиль, весна доска, все приложения, перечисленные & могут быть запущены на кране.

Надеюсь, что дает лучшее представление об использовании частного api.

+0

С джейлбрейком нет такой вещи, как ограничение. :) – allprog

+0

@allprog Я отредактировал и упомянул об этом. Спасибо ;-) –

+0

@Balram Tiwari - Спасибо за разъяснение. Демо работает хорошо. И я решу проблему. В демонстрации это дает представление об использовании private api. – steiff

0

Установите com.conradkramer.openоткрытый пакет из Cydia и вы можете запустить open com.bundle.id из оболочки через SSH или из приложения.