implicit declaration of function '…' is invalid in C99

これが出る原因はいくつかある?みたい。
私の場合は下記のコードで出た。

- (void)hoge {
    CGFloat position = ...
    randPosition(position);
}

- (CGFloat)randPosition:(CGFloat)number {
    return number * (rand() % 100 + 50) / 100.0;
}

理由は単純でインスタンスメソッドを関数の書き方で呼んだから。
こうするか、

    [self randPosition:position]

こうする必要があった。

CGFloat randPosition(CGFloat number) {
    return number * (rand() % 100 + 50) / 100.0;
}