4

[編集]デバイスをjbしました。そして、Githubで最新のプライベートAPIiOS -Runtime-Headersを見つけました。

アプリでプライベートAPIを使用したい。

githubでkennytm/iphone-private-frameworksを見つけましたが、 iOS3.xのみをサポートしています。iOS5.0.1で作業している間。

また、GoogleiPhone開発ツールでいくつかのコードを見つけました。しかし、それは本当に私を混乱させます。私はiPhone開発に不慣れです。

使用するにはどうすればよいですか

[[UIApplication sharedApplication] launchApplicationWithIdentifier:@"com.a.b" suspended:NO];

誰かが私に方向性やいくつかの例を与えることができます。どうもありがとう。

4

1 に答える 1

8

要件

  1. 脱獄されたiDevice
  2. キーチェーン内の有効な証明書/キーとそれに関連するプロビジョニングプロファイル。(アップルデベロッパプログラムに登録していない場合は、次の回避策を使用してください:コードに自己署名し、xCodeでiPhoneでテストしてください

私の解決策

1)XCodeプロジェクトでエンタイトルメントを有効にします。

プロジェクトにエンタイトルメントを追加するには、プロジェクトナビゲータでプロジェクトを選択し、アクティブな[ターゲット]->[概要] ->[エンタイトルメント] -> [エンタイトルメントを有効にする]チェックボックスをオンにします。「 YourProject.entitlements 」という名前の新しいファイルは、プロジェクトナビゲーターの直後に表示されます。

2)次のプロパティをエンタイトルメントに追加します。

エンタイトルメントプロパティを追加します:値YESのブール型のcom.apple.springboard.launchapplications

3)launchApplicationWithIdentifier:suspended:プライベートAPIであるため、アプリをビルドするには明示的に宣言する必要があります。適切な場所に次のコードを追加するだけです。

// Simply make declaration  inside a Category.
#import "BlahBlah.h"
@interface UIApplication (Undocumented)
    - (void) launchApplicationWithIdentifier: (NSString*)identifier suspended: (BOOL)suspended;
@end
....
@implementation BlahBlah
...

4)プロジェクトをビルドします。

5)YourProject.appをデバイスの/ Applicationフォルダーにコピーします(たとえば、SFTP経由)

6)iDeviceを再起動または再起動します。

7) ...

8)利益!

関連項目

アプリケーションからアプリを起動するための特別なAPI-のソリューション

iOSでのアップルのデフォルトアプリケーションのバンドル識別子は何ですか?

于 2012-06-15T09:24:39.793 に答える