I have a very unique situation here, I have to test devices with same specification. The application i have developed has push notification capability enabled. All configurations are done in server side i.e added device as development device, the device is added into provisioning profile, the provisioning profile is installed in phone and development machine as well. Now the problem is the application is installed in both the device in one device everything works perfectly fine the notification appears for every event, however in another device it doesn't.
I tried everything i.e checking the setting in device if for some reasons notification is not allowed or may be some settings. I compared all the settings in both the devices everything is same.
The error I get in server side is Bad Device Token for one device. I tried to delete the token from server side and got it again still same situation it works for one device but not for other.
Any help or pointer would be really appreciated.
I have submitted a app in app store and my metadata was rejected with the following comment
—————
We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 10.0.1 on Wi-Fi connected to an IPv6 network.
Specifically, we were unable to register a new account because the Save button was unresponsive. We’ve attached screenshot(s) for your reference.
——————
My app deployment Target IOS 8.0
My test phone is iPhone 6 with IOS 8.2
As per apple documentation
https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1
i have simulated the NAT64 local network on my mac and tested it. The app works ok.
IP address screenshots attached using Nat64 and without using Nat64
I am not using any ip address numbers in my app. I only access the php script like www.kottapa.com/xyz.php
I am testing this app from bangalore india
Please let me know what could be the Problem.
This is due to missing App Transport Security Settings (Allows Arbitrary Loads ) property in info.plist. Without this property IOS10 won't' allow http requests.
But IOS 8 device processes http requests without this property
On my "Develop" menu, in Safari, the iPhone no longer appears after updating Safari to the latest version, making it impossible to inspect and debug sites and apps.
I restarted the iPhone, killed and relaunched Safari, restarted my Mac too, but the issue is still there. Affects both Safari mobile and phonegap applications.
Anyone experienced the same problem?
FWIW, I tried all of these suggestions, and it worked briefly after resetting Privacy & Location settings but stopped working immediately after.
What ended up working as a long term solution was to turn both WiFi and Bluetooth off on the iPhone while connected to the Mac.
Turns out, my issue was that the update to the latest iOS version disabled the "Web Inspector" settings on my iPhone.
To re-enable it, go to Settings > Safari > Advanced.
In our case we needed to reset the trust between iPhone & Mac. From iPhone Settings > General > Reset choose reset Privacy & Location and also Network Settings. The phone reboots, we reconnected to the laptop, tapped Yes to Trust this Computer and now Mac Safari can once again debug mobile Safari.
What helped for me was the following:
Open Xcode
On the Menu: Window -> Devices and Simulators
Check the Connect via network checkbox. (If it is already selected then uncheck it and re-check)
In my case, resetting only Privacy & Location did the job (but only temporarily, see update below!).
Try only resetting that before resetting your whole network settings for nothing!
Almost immediately after reset, the "Trust this Computer" popup appeared and after trusting my device appeared in the Develop menu.
Update:
I kept having regular issues with this (having to reset it multiple times per day, restarting Safari and a combination of other things) until I found the real fix here:
https://stackoverflow.com/a/58654871/167983
#BearSnowstorm:
One more tip to try - after trying many of the above suggestions I
turned off "Sync with this iPhone over Wi-Fi" in iTunes.
Voila! Got my iPhone into the Develop menu!
(for context, this is in Mojave 10.14.6, iOS 13.1.3, Safari 13.0.3)
My comment on that answer describes the same thing but updated for Catalina:
I had recurring issues with this and the only way I could make it work (sometimes) was to reset Location & Privacy, close Safari, unplug my device, etc. It was always a temporary fix though and the issues would come back very quickly. This however seems to work more permanently! I confirm what #Florian said: the setting was off by default for me, turning it on then off (after letting the sync finish) worked. On Catalina, this setting is named "Show this iPhone when on Wi-Fi" under General when you select your iDevice in the Finder.
Reading that answer my instinct was that it could not possibly make a difference, but it does! I have had zero issues since I did this. Try it!
Some cables (even official Apple Lightning Connector) don't support this feature because of some damage inside. My Lightning Connector was able to charge the iPhone but prevented to use dev tools on the Mac. I used another cable to successfully connect to dev tools.
In my case, this was totally a network issue.
Everything works well when I used 4G network.
If I use my wi-fi, safari failed to detect my device.
Turning off wifi on the iPhone allows it to appear in the develop menu.
The best and permanent solution in Catalina is to open a new Finder window, select in sidebar, then check 'Show this iPhone when on wifi'.
To disable caches (and to avoid constantly having to delete website data) open your site in a new Private Window. Changes to stylesheets will then update as normal.
Seems the front ports of my Mac Pro were not working correctly, plugged the cable on the keyboard port and I was able to connect to the dev tools.
I know all these tricks but after installing Catalina none of them worked. What DID work for me was Settings > Developer > Clear Trusted Computers. Strangely, the phone appears in the Safari Developer menu on the Mac, but the phone never asked to re-trust the computer!
The phone disappears again sometimes, but the same trick gets it back.
MacOS and iOS still look beautiful, but both are turning into a messy pigsty underneath. I sometimes wonder if Apple still even cares. :(
I've tried with the reset of Privacy and Location but it didn't work. What worked for me was disabling the hotspot from the phone. With the hotspot active Safari doesn't shows the iPhone in the developer menu.
Crazy but true, when i disconnected bluetooth and tried to check under develop option, connected device was shown.
In my case the only solution was to reboot my Macbook... stupid but effective solution
My solution was simply to move the cable to a different USB port.
reboot fix everything,works for me.
In my case, I was working from home and had a VPN tunnel to my work that was redirecting all traffic through my company's network. Disabling that revealed the phone in the Develop menu again.
As an alternative, connecting with VPN and disabling WIFI and Bluetooth works.
The facts
I'm building an HTML 5 responsive website with an offline mode. To do that, I'm using a manifest file with a FALLBACK section and the browser's localStorage to store the pages that the users decide to save for offline access.
Everything is working great both on desktop or iPhone (haven't tested it on Android yet), except when I add a NETWORK section to the manifest file.
Why do I need the NETWORK section ? I need it for Google Analytics to work - otherwise my website's users won't get tracked, even if the user if online (that's how HTML5 applicationCache works). So this really is mandatory.
On the desktop, this is not an issue, I can turn off the Internet connection and the website works in offline mode.
On the iPhone, however, if i'm turning off the Internet connection (for instance turning on airplane mode) I'm not able to start the web-app (meaning my website added to the home screen) once the NETWORK section is added to the manifest : i'm prompted by iOS to turn on the Internet connection, and the app is closing. If there's no NETWORK section in the manifest file, everything runs fine.
My question
is twofold :
1) while I can understand that there is some logic behind such behaviour, it seems very strange (well, almost unbelievable) to me that you can't have an iOS web-app working in offline mode if there is the slightest attempt to access the network - I've read numerous tutorials about applicationCache on iOS and no one ever mention the NETWORK section's incompatibility with airplane mode.
So, does anyone can confirm (or infirm) what I'm experiencing ?
2) If there is indeed such incompatibility, the only workaround I can imagine is having a dynamically build manifest file server-side, adding a NETWORK section for desktop users only - but that means forgetting about tracking mobile online users, which is not acceptable.
So, does anyone have a better idea ?
Oops, I should have looked better on SO : this has already been answered here :
https://stackoverflow.com/a/6285955/2251905
Following the steps outlined in the abover answer solved the problem.
This has nothing to do with the NETWORK section (thankfully and rightfully !), but with what seems to be an annoying iOS bug on the iPhone.
I am trying to get my iPhone application to work with HTTPS in addition to HTTP, but using UIWebView or MPMoviePlayerController to view a Quicktime MOV file doesn't seem to work over HTTPS. I get "This movie could not be played". I tried in Safari to eliminate my app as being the problem, and the same thing happened. If I use HTTP, it works fine.
This thread has a similar discussion, but no resolution: http://discussions.apple.com/thread.jspa?messageID=12908818
I am not using self-signed certs; my machine has a registered SSL cert, and I pushed both the GoDaddy intermediate cert and the normal cert to my iPad (4.2.1) using iPhone configuration utility. I verified this works because Safari doesn't prompt me about the certificate when visiting the secured site, like it would before. I can view the movie over HTTPS using normal browsers such as FF or Safari on OSX, just not iOS. It also appears to work in the simulator as well, but I have tried both iPhone 4.1 and iPad 4.2.1.
Is there any workaround that will let me view video over HTTPS?
After experiencing the very same problem and symptoms, I was able to gain access to the Apple Developer Forum thread mentioned here
The upshot of the Apple thread is that you must have a valid Intermediate Certificate installed on the server. It is not enough to have only the server certificate installed.
I have tested this with Mac OS X 10.6 Server. I installed the server certificate and while desktop browsers were able to stream a video over HTTPS, iOS devices (iPhone and iPad) both gave the "This movie could not be played" error.
Installing the Intermediate Certificate fixed the problem.
Other devices, like Android phones and tablets, and RIM PowerBook (via Flash) had no problems playing the video without the Intermediate Certificate. I suspect it is a case of iOS being overzealous with its security, a "Feature" if not a bug ;-)
I'm not a PKI expert, so I cannot tell you why this works. Perhaps another contributor can explain the PKI voodoo behind this.
Marking this as resolved. This parallel thread on apple dev. forums:
https://devforums.apple.com/message/361209#361209