iOS Créer un nouveau tweak en utilisant Theos


Exemple

Utilisez nic pour créer un nouveau projet

Entrez cette commande dans votre terminal

$THEOS/bin/nic.pl
NIC 2.0 - New Instance Creator
------------------------------
  [1.] iphone/activator_event
  [2.] iphone/application_modern
  [3.] iphone/cydget
  [4.] iphone/flipswitch_switch
  [5.] iphone/framework
  [6.] iphone/ios7_notification_center_widget
  [7.] iphone/library
  [8.] iphone/notification_center_widget
  [9.] iphone/preference_bundle_modern
  [10.] iphone/tool
  [11.] iphone/tweak
  [12.] iphone/xpc_service
Choose a Template (required):

Choisissez le modèle [11.] iphone/tweak

Remplissez les détails et vous obtiendrez les fichiers suivants créés:

-rw-r--r--@  1 gkpln3  staff   214B Jun 12 15:09 Makefile
-rw-r--r--@  1 gkpln3  staff    89B Jun 11 22:58 TorchonFocus.plist
-rw-r--r--   1 gkpln3  staff   2.7K Jun 12 16:10 Tweak.xm
-rw-r--r--   1 gkpln3  staff   224B Jun 11 16:17 control
drwxr-xr-x   3 gkpln3  staff   102B Jun 11 16:18 obj
drwxr-xr-x  16 gkpln3  staff   544B Jun 12 16:12 packages

Remplacez la méthode de sauvegarde des captures d'écran iOS

Ouvrez le fichier Tweak.xm en utilisant votre éditeur de code préféré.

Accrocher à une certaine méthode du système d'exploitation.

%hook SBScreenShotter
- (void)saveScreenshot:(BOOL)screenshot
{
    %orig;
    NSLog(@"saveScreenshot: is called");
}
%end

Notez que vous pouvez choisir si la fonction d'origine doit être appelée ou non, par exemple:

%hook SBScreenShotter
- (void)saveScreenshot:(BOOL)screenshot
{
    NSLog(@"saveScreenshot: is called");
}
%end

remplacera la fonction sans appeler l'original, les captures d'écran du boîtier n'étant pas enregistrées.