Just an alternative based on a regular expression (aka regex) to get the range directly without having to calculate it yourself:
// A regex pattern to match everything between "Name:" and " - ProgCam"
NSString *pattern = @"(?<=Name:).*?(?= - ProgCam)";
NSRange rRange = [sStr rangeOfString: pattern options: NSRegularExpressionSearch];
To dissect the regex:
(?<=XXX)
Begin with XXX (in your case this is the "Name:" part). This is a positive lookbehind that matches XXX. It means that XXX must be there, but it will not be considered a part of the matched string.
.*?
... followed directly by anything (represented by the dot) zero or more times (the asterisk). The question mark means that it should make the match as small as possible. In this case if there are two YYY (in the example below) in the string, it will pick the first. Since you don't have that problem in your string, you don't really need it, but it makes the pattern more robust in case things change in the future.
(?=YYY)
... up to YYY (in your case this is the " - ProgCam" part). This is a positive lookahead that matches YYY. It means that YYY must be there, but it will not be considered a part of the matched string.
There's no specific need to keep the pattern in its own variable, that's just for readability. If you prefer oneliners, you can stick it all on a single line.
There are many tutorials on the net, for instance this one.