I am working with UIPageViewController , to make a product tour for my application.
I followed this link http://www.appcoda.com/uipageviewcontroller-tutorial-intro/<
I faced the same issue and finally figured out the cause . The delegate methods are called twice when the the Transition style for the page view controller is set to " Page Curl".
When the transition style is set to "Page Curl", the action is like turning a page in a book. You turn one page and the page number gets incremented by 2. Applying the same concept for the page view controller, 2 view controllers are transitioned for Page Curl style: one is the view controller you see and the other view controller is on the other side of the curled view.
Change the transition style to "Scroll" and you can get rid of the problem
This can be done from storyboard in the attribute inspector as follows:
You can also change the same by code by setting the UIPageViewController.transitionStyle property to UIPageViewControllerTransitionStyleScroll.
Hope it helps