Реализуйте метод ниже в Вашем делегате приложения:
-(void)applicationWillResignActive:(UIApplication *)application
Это позволяет Вам реагировать, когда приложение становится неактивным - когда дело обстоит так, оно выполняет, но не диспетчеризирует входящие события. Это происходит, например, когда окно наложения открывается или когда устройство заблокировано.
Непосредственно перед тем, как это становится неактивным, приложение также отправляет UIApplicationWillResignActiveNotification.
Нет, вам придется запускать otool несколько раз или включать его код синтаксического анализа ( здесь ). Не забывайте об обработке @executable_path
.
Здесь он находится в Python (без @executable_path
, канонизации или поддержки имен файлов с пробелами), поскольку это было проще, чем пытаюсь отладить псевдокод:
import subprocess
def otool(s):
o = subprocess.Popen(['/usr/bin/otool', '-L', s], stdout=subprocess.PIPE)
for l in o.stdout:
if l[0] == '\t':
yield l.split(' ', 1)[0][1:]
need = set(['/Applications/iTunes.app/Contents/MacOS/iTunes'])
done = set()
while need:
needed = set(need)
need = set()
for f in needed:
need.update(otool(f))
done.update(needed)
need.difference_update(done)
for f in sorted(done):
print f