Answer
There's a system-defined method for granting all of the application owner's database objects to IFSINFO in one step, rather than granting each object manually — log in as the application owner and run: BEGIN Database_SYS.Grant_All_Objects_Ial('IFSINFO'); END;. This grants every package, view, and table currently owned by the application owner to the IFSINFO user, using WITH GRANT OPTION on all the grants. This same method is what runs automatically whenever an IFS delivery is installed, but if you've created your own custom database objects after the last delivery, those new objects won't have been granted to IFSINFO automatically, and this method needs to be re-run manually to pick them up.