Отображение общего количества строк кода в UILabel с помощью сценария оболочки

Привет, я только начал использовать и изучать сценарии оболочки, так что проявите терпение, хорошо :)

Что я пытаюсь сделать: для отображения текущих проектов iOS. Всего строк кода.

Чего я не знаю: как взять эту информацию и использовать ее в моем проекте iOS и, наконец, отобразить все строки кода в UILabel. (например, label.text = @ "totallinesofcode";)

Как мне это сделать? Ура, Дэниел Ран

Что у меня есть на данный момент: мне удалось привлечь все строки информации кода, передав эти строки ...

cd Desktop/Project\ Connection/Connection 
find . \( -iname \*.m -o -iname \*.mm -o -iname \*.c -o -iname \*.cc -o -iname \*.h \) -exec wc -l '{}' \+

person Daniel Ran Lehmann    schedule 18.01.2014    source источник
comment
Зачем отображать это в приложении для iOS? Почему не в консоли во время сборки или по запросу?   -  person Wain    schedule 18.01.2014
comment
Потому что я добавляю в приложение функцию, доступную только для VIP-персон, которая хранит массу информации о приложении, например, количество активных пользователей, общее количество строк кода и т. Д. Спасибо за ответ :)   -  person Daniel Ran Lehmann    schedule 18.01.2014


Ответы (2)


В приведенных выше ответах отсутствует часть bash. Предлагаю создать заголовочный файл, содержащий количество строк. Затем ваш код может #import эту информацию и поместить ее в ярлык, как описано другими.

Часть bash должна выглядеть так:

cnt=`find . \( -iname \*.m -o -iname \*.mm -o -iname \*.c -o -iname \*.cc -o -iname \*.h \) -exec cat '{}' \+ | wc -l`
echo "#define NUM_LINES $cnt" > lines_count.h

Исходная команда find выдала бы несколько строк, по одной на файл. Вместо этого вы должны переместить все в вывод и направить его в wc -l

после запуска этих двух строк вы можете:

#import "lines_count.h"
...
self.myLabel.text = [NSString stringWithFormat:@"lines=%i", NUM_LINES];
person ishahak    schedule 19.01.2014
comment
Я устанавливаю это как правильный ответ, так как именно это я и искал :) Ура! - дан - person Daniel Ran Lehmann; 20.01.2014
comment
привет еще раз @ishahak просто попробовал это самостоятельно, но столкнулся с некоторыми проблемами ... Как добавить команду bash в файл заголовка? Я создал его, и он выглядит так: scontent-a -lhr.xx.fbcdn.net/hphotos-ash3/t1/ - person Daniel Ran Lehmann; 20.01.2014
comment
Я не вижу твоего изображения. Чтобы загрузить изображение, нажмите на значок изображения в редакторе. Однако я надеюсь, вы понимаете, что команду bash следует поместить в отдельный файл .sh. Вы можете автоматизировать его, добавив на этапы сборки xcode. См. stackoverflow.com/questions/976454/ - person ishahak; 20.01.2014

Что ж, если вы знаете все строки кода, просто создайте и int, а затем:

В вашем .h:

int *totalLines;

В вашем .m:

totalLines = xxx(your total lines of code);
label.text = [NSString stringWithFormat:@"Number of Lines: %i, totalLines];

или даже проще:

label.text = [NSString stringWithFormat @"Number of Lines: 3289923]; 

(конечно, это число должно быть вашим реальным количеством строк)

Затем, если вы обновите приложение и добавите больше строк кода, просто обновите целое число или метку. Я думаю, вы слишком усложняете простую вещь.

person Mykod    schedule 18.01.2014
comment
отличный ответ, конечно, это один из способов сделать это, поэтому я отмечу его как правильный ответ :) - person Daniel Ran Lehmann; 18.01.2014
comment
Кроме того: вы можете добавить свой скрипт в сборку Xcode и заставить его скопировать определенное количество в info.plist, чтобы вы могли получить к нему доступ во время выполнения. - person Wain; 18.01.2014