[JB]iOS用公式Twitterクライアントに追加された端末インストールアプリ一覧取得機能の調査と無効化


公式Twitterクライアントに追加されたイヤな感じの機能

公式Twitterクライアントに、端末にインストールされたアプリリストを取得する機能が追加されました。

Twitterがスマホにインストールされたアプリ一覧の取得を開始予定、設定解除も可能 – GIGAZINE

別に大したアプリを入れているわけじゃないけれど、デフォルトで有効にされていてイヤな感じ。早速高木先生がアップを始めたようです。

iOS用の公式Twitterクライアントでは、TFNTwitterAppGraphというクラスがその辺りの機能を司っているようです。

インストールされているアプリの調査のために、定期的にバックグラウンドタスクが走る作りになっているようですね。

@interface TFNTwitterAppGraph : NSObject {
@private
	BOOL _optinPromptSeenInCurrentSession;
	TFNTwitterAccount* _account;
	NSString* _optOutStatus;
	int _batchSize;
	int _batchInBetweenDelay;
	unsigned _backgroundTask;
	double _longestBatchExecutionDuration;
	double _longestBatchbatchExecutionStartTime;
	double _longestBatchbatchExecutionEndTime;
}
@property(assign, nonatomic) double longestBatchbatchExecutionEndTime;
@property(assign, nonatomic) double longestBatchbatchExecutionStartTime;
@property(assign, nonatomic) double longestBatchExecutionDuration;
@property(assign, nonatomic) unsigned backgroundTask;
@property(assign, nonatomic) int batchInBetweenDelay;
@property(assign, nonatomic) int batchSize;
@property(assign, nonatomic) BOOL optinPromptSeenInCurrentSession;
@property(copy, nonatomic) NSString* optOutStatus;
@property(assign, nonatomic) __weak TFNTwitterAccount* account;
-(void).cxx_destruct;
-(void)updateOptInStatus:(BOOL)status responseBlock:(id)block;
-(void)optOutStatusWithResponseBlock:(id)responseBlock;
-(void)_recordInstalledApps:(id)apps responseBlock:(id)block;
-(void)_logLongestBatchExecution;
-(void)_checkLongestBatchExecutionWithStartTime:(double)startTime endTime:(double)time;
-(void)_endBackgroundTask;
-(void)_startBackgroundTask;
-(BOOL)_cacheExpired;
-(void)_updateLastDetectionDate;
-(void)_optInAndDetectInstalledApps;
-(void)_handleBatchWithEmbeddedAppsDictionary:(id)embeddedAppsDictionary appIds:(id)ids index:(int)index installedApps:(id)apps;
-(void)_detectAppsInBackground;
-(void)_readEmbeddedFileWithCompletionBlock:(id)completionBlock;
-(void)handleOptInPromptImpression;
-(void)detectInstalledAppsIfNecessary;
-(void)start;
-(id)initWithAccount:(id)account;
@end

iOSの公開APIではインストールされているアプリリストを取得する方法はなく、UIApplicationのcanOpenURL:というメソッドでアプリの持つURL Schemeが使用可能かどうかでアプリがインストールされているかどうかを間接的に判断します。(非公開APIとしては、LSApplicationWorkspaceのinstalledApplicationsというものがSpringBoard内に存在します)

「-(void)_handleBatchWithEmbeddedAppsDictionary:〜」というメソッドから、URL Schemeのデータベースを使って総当たりでスキャンするのが分かりますね。

現状では、調査のメソッドが走るたびに2551回UIApplicationのcanOpenURL:が実行されるのでしょう。

設定でオフにできますが、何か嫌な感じなので、TwitterAppGraphPatcherという、TFNTwitterAppGraphを無効化するJailbreak Tweakを作りました。(続きは[Read More]から) read more »

Android Gadget iPad iPhone USBバッテリ

cheeroから防水・防塵のアウトドア向けモバイルバッテリcheero Tough 9000mAhが登場


今度は防水・防塵モバイルバッテリだ!

SDIM1222

モバイルバッテリの定番を続々輩出するcheeroから、今度は珍しい防水・防塵のモバイルバッテリ、cheero Tough 9000mAh (CHE-051)が登場しました。

 

 

cheeroさんからサンプルをご提供いただきましたので紹介します。9000mAhという容量で、大きさはcheero Power Plus 2などより一回り小さい。重さも220gと、290gのcheero Power Plus 2より一回り軽い感じですね。

SDIM1228

本ブログをお読みになられている方ならご承知の通り、自転車の電装を強化する試みを続けてきておりますし、最近ではヤマノスストレッキングを始め、GarminのハンディGPSを何種類か使い出したので、アウトドアでの安定的給電手段には興味津々。cheero Tough 9000mAhはどんな感じの製品なんでしょうか。

- 製品仕様
品名 cheero Tough 9000mAh
型番 CHE-051
容量 9000mAh (33.3Wh)
内蔵バッテリ リチウムイオン
サイズ (本体) 約93mm × 74mm × 28mm
重量 本体 約220g
入力 5V, 2A max
出力 DC 5V, 2.1A max
本体充電時間 約6時間 (2Aアダプタ利用の場合)
使用回数 500回まで
各種保護機能 過充電 (電圧/電流) 時、過放電 (電圧/電流) 時、短絡化 (ショート) 時、発熱時、自動停止機能 デバイス充電完了時自動停止機能 ※でバイス充電完了時の自動停止は未対応機種あり
対応機種 iPhone 3G/3GS/4/4s/5/5s/5c/6/6 Plus, iPod, iPad, iPad Air, iPad mini, MicroUSB対応スマートフォン, Wi-Fiルータ

(続きは[Read More]から) read more »

Book eBook Kindle 電子書籍

白泉社のKindleコミック、1巻〜3巻が108円になっていたので4巻ぐらいで完結する作品を集めてみた


「綿の国星」が108円に!

白泉社のKindleコミックのセールが始まっていました。どうやら、3巻以上継続するシリーズの1巻〜3巻までを108円にする戦略を始めたようです?

白泉社のコミックの中から108円になっているものを抽出したリストを作ってみました。

Amazon.co.jp: 白泉社 – 10800-10800: Kindleストア

少ない巻数で完結する作品なら、安く読めるのではないかと思って少し調べてみました。

例えば、「綿の国星」なら4巻で完結するので、正価で買うのは4巻だけで済みます。

とりあえず「綿の国星」はマストバイかと。

「綿の国星」

4巻で完結。とりあえず買いました。

 

綿の国星 1 白泉社文庫
綿の国星 1 白泉社文庫
posted with amazlet at 14.11.17
白泉社 (2013-08-02)

 

「バター猫のパラドクス」

4巻完結なので「綿の国星」同様です。

 

バター猫のパラドクス 1
バター猫のパラドクス 1
posted with amazlet at 14.11.17
白泉社 (2013-08-26)

 

「ゆりキャン 〜ゆりかのキャンパスライフ〜」

5巻完結の作品。

 

 

「まおまりも」

4巻完結の作品。

 

 

「ハルとナツ」

完結はしていませんが、既刊4巻です。

 

 

「ガブメント」

4巻完結の作品。

 

 

「PUNK」

4巻完結の作品。

 

PUNK 1 ジェッツコミックス
白泉社 (2013-08-03)

 

「ぼくの銀色ハウス」

4巻完結の作品。

 

ぼくの銀色ハウス 1
ぼくの銀色ハウス 1
posted with amazlet at 14.11.17
白泉社 (2013-10-15)

 

「魔人戦記 破軍」

4巻完結の作品。

 

 

「いつか勝ち組!」

全5巻の作品。

 

 

「天然格闘少女ちひろちゃん」

全5巻の作品。

 

 

「OZ 完全収録版」

全5巻の作品。

 

 

「のの美捜査中!」

5巻完結の作品。

 

 

「ももいろスウィーティー」

5巻完結の作品。

 

 

「豪デレ美少女」

4巻完結の作品。