Graylocke has worked through an older version of the puzzle, which did not have a unique solution. If (s)he would had seen the updated puzzle, I’m sure that (s)he would have been able to solve it quickly using the same type of deductions which (s)he had been using.
However, since it’s been more than a year without any updates, I am posting my solution.
Complete Solution

Walkthrough
Step 0

I started by importing the puzzle into a spreadsheet, which is my preferred method of solving this type of puzzles.
Step 1

The top-left, top-right and bottom-right corners have intersecting arrows which are completely opposite to each other. The only way to satisfy them is for the cell at the intersection to have ● in it. Then, there is only 1 choice when it comes to filling the rest of the cells.
Step 2

Continuing in the bottom-right corner, looking at ↘(4), the only way to fulfil it given what we have is (●↗↙↘). ↘ cannot be on top, because then we would not be able to make horizontal ↖(4). We would need 2 ↖s to make that, which is illegal. So, ↙ must be on top.
Step 3

Now we know that horizontal ↖(4) must be (●↙↗↖). Looking at vertical →(2), there would be no way to make it which involves a ↖, so that must be (↗↓).
Step 4

To complete ↙(4), we need ↖ and ←, and there is only 1 legal way to place them.
Step 5

The only combination of ↘(5) that fits is (●→↘↓↖). Neither ↓ nor ↘ can be at the top, because they contain a downward component. So, → must go at the top, which means that ↗(2) is (→↑).
Step 6

To finish off ↘(5), we need ↘ and ↓. ↘ cannot be at the bottom because of horizontal ↖(3). This is because the only way to fulfil that using a ↘ would be (↘↖↖), which is illegal.
Step 7

We need a → and ↘ to complete ↑(5) and there is only 1 way they can go.
Step 8

Horizontal ↖(3) needs ↑ and ↖. We cannot have ↖ in the ●(2) column, because then ●(2) would have to be (↖↘), which causes a contradiction.
Step 9

We need ↑, ↖ and ← to finish off ●(7). Only ↑ can be placed in the leftmost cell, since the other 2 options contain a leftward component and would clash with vertical →(2). This allows us to fill in the bottom-left corner.
Step 10

Vertical ↓(5) has to be (↖←→↓↘). It intersects with ↑(2), which cannot have a downward component. So, ↑(2) must be (→↖).
Step 11

To finish off ↓(5), we need ↘ and ↓. To finish off ●(4), we need ↘ and →. Since ↘ is common between both, this leaves us with 2 options. Here, we realize that horizontal ↓(3) cannot contain ↘ and → together, which eliminates one of the options.
Step 12

Now we can complete the whole bottom half of the puzzle.
Step 13

The only combination for ↘(5) that contains a ↖ is (●→↘↓↖). Out of all these options, the only one that can be used alongside the horizontal ↖(2) is ●. So ↖(2) must be (●↖). Then, the only remaining option that can be used alongside the horizontal ↗(4) is →, because the other 2 options have downward components.
Step 14

Now we know that ↗(4) has to be (→↘↖↑), so we need to fill in a ↖ and ↑. ↖ does not fit with the vertical →(2), so the ↑ has to go there. We now know that the first 2 cells of ↓(4) are ↑ and ↘. Since we need ↘ and ↓ to complete the vertical ↘(5), we can now fill this area with the only possible permutation.
Step 15

To finish off ↙(5), we need either ↙ and ●, or ↙ and →. The only combination of ↑(7) that fits horizontally is (↑↗→↘↙←↖). Combining these 2 facts, we can deduce that the intersection of these two has has to be →.
Step 16

Horizontal →(3) has to be (↙↗→). The middle cell cannot be ↗ because we know that ↑(7) cannot have a ●. With this, we can fill in →(3) and ↑(7).
Step 17

Horizontal ↖(4) has to be (↑↘←↖) since we already have a ↘. Looking at the intersection with ↗(5), we can see that there is a ↖ in that column, so the cell at the intersection has to be either ↑ or ←. If we assume it is ←, we would need 2 ↖s to fulfil ↗(5) then, which is illegal. So, we know that the cell at the intersection is ↑.
Step 18

↗(5) is now missing a ↓ and ↘. ↘ cannot coincide with horizontal ↙(2), so we know that’s (↓←).
Step 19

We can now fill ↖(4) in with the only permutation of (↑↘←↖) which remains legal. This leads to only 1 permutation for ↖(2), which leads to only 1 arrow which satisfies the final cell.