# DirectoryIterator and Mac Alias

**URL:** <https://forum.juce.com/t/directoryiterator-and-mac-alias/15825>\
**Category:** General JUCE discussion\
**Created:** [November 3, 2015, 3:35am UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825 "2015-11-03T03:35:29Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![lapsang](https://avatars.discourse-cdn.com/v4/letter/l/3be4f8/32.png) [@lapsang](https://forum.juce.com/u/lapsang)\
**Post date:** [November 3, 2015, 3:35am UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/1 "2015-11-03T03:35:29Z")

</div>

Is there a way to make the DirectoryIterator go through Mac aliases (not symbolic links)?

The isLink() doesn't work (as I guess it's only for symbolic links), but even if I give the full path to the alias to the DirectoryIterator it can't find any files in it.

Suggestions?

&nbsp;

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [November 3, 2015, 8:05am UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/2 "2015-11-03T08:05:35Z")

</div>

The DirectoryIterator won't do that (if it followed them then I think it could get into infinite loops)

Doesn't File::getLinkedTarget() return the aliased target though?

---

<div class="post-metadata">

**Author:** ![lapsang](https://avatars.discourse-cdn.com/v4/letter/l/3be4f8/32.png) [@lapsang](https://forum.juce.com/u/lapsang)\
**Post date:** [November 3, 2015, 6:24pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/3 "2015-11-03T18:24:00Z")

</div>

Unfortunately not.

I tried several times, not sure if I'm doing something wrong but basically this:

```
File dir = File("/path/to/alias");File aliasDir = dir.getLinkedTarget();DBG(dir.getFullPathName());DBG(newDir.getFullPathName());
```

returns this:

```
/path/to/alias
/path/to/alias
```

No change at all. I think that&nbsp;getFileLink check only symbolic links and not aliases.

What can I do?

---

<div class="post-metadata">

**Author:** ![lapsang](https://avatars.discourse-cdn.com/v4/letter/l/3be4f8/32.png) [@lapsang](https://forum.juce.com/u/lapsang)\
**Post date:** [November 4, 2015, 2:37pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/4 "2015-11-04T14:37:36Z")

</div>

After further tests I can confirm that&nbsp;getLinkedTarget()&nbsp;works only on symbolic links and NOT on aliases.

How can I manage aliases? They are way more common than symbolic links (and also easier to manage).

---

<div class="post-metadata">

**Author:** ![lapsang](https://avatars.discourse-cdn.com/v4/letter/l/3be4f8/32.png) [@lapsang](https://forum.juce.com/u/lapsang)\
**Post date:** [November 5, 2015, 3:45pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/5 "2015-11-05T15:45:31Z")

</div>

bump

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [November 5, 2015, 3:47pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/6 "2015-11-05T15:47:34Z")

</div>

Not really a priority for us to look at this, but it may be a one-liner if you want to do the research into how aliases work..

---

<div class="post-metadata">

**Author:** ![otristan](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@otristan](https://forum.juce.com/u/otristan)\
**Post date:** [November 5, 2015, 3:55pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/7 "2015-11-05T15:55:53Z")

</div>

You need to use &nbsp;FSPathMakeRef,&nbsp;FSResolveAliasFileWithMountFlags and&nbsp;FSRefMakePath  
&nbsp;

---

<div class="post-metadata">

**Author:** ![otristan](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@otristan](https://forum.juce.com/u/otristan)\
**Post date:** [November 5, 2015, 3:58pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/8 "2015-11-05T15:58:00Z")

</div>

See&nbsp;

http://www.juce.com/forum/topic/alias-ans-shortcut-resolution

---

<div class="post-metadata">

**Author:** ![lapsang](https://avatars.discourse-cdn.com/v4/letter/l/3be4f8/32.png) [@lapsang](https://forum.juce.com/u/lapsang)\
**Post date:** [November 5, 2015, 4:02pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/9 "2015-11-05T16:02:42Z")

</div>

Awesome, thanks a lot!

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [November 5, 2015, 4:30pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/10 "2015-11-05T16:30:02Z")

</div>

Those were all deprecated long ago, weren't they?

---

<div class="post-metadata">

**Author:** ![otristan](https://avatars.discourse-cdn.com/v4/letter/o/f0a364/32.png) [@otristan](https://forum.juce.com/u/otristan)\
**Post date:** [November 5, 2015, 5:24pm UTC](https://forum.juce.com/t/directoryiterator-and-mac-alias/15825/11 "2015-11-05T17:24:33Z")

</div>

Yep. Working fine though.

&nbsp;

Here is the new way (untested)

&nbsp;

http://stackoverflow.com/questions/24870288/how-i-can-modernize-deprecated-fspathmakeref-fsisaliasfile-fsresolvealiasfilew
