Boss is requesting that we make our new email web app into a Progressive Web App. We are finding that there is no way to save local files from PWAs but he has asked that we keep looking for a way.
Can somebody please confirm that it is impossible to save files to the local filesystem when the webpage is running as a PWA?
Obviously for an email app you need to be able to download the files from your email, so without access to local filesystem storage there's no chance of downloading files right?
This would need to work across devices (iOS + Android)
Edit: This is not a duplicate of the question: "how to save a file in javascript"
That solution does not work and it seems to be documented that it doesn't work in PWAs on iOS: https://github.com/eligrey/FileSaver.js/issues/479
Anyway you guys have indirectly answered my question, it seems this is not supported and there is no workaround.
The answer is: no, there is no way to download files to the local filesystem in a Progressive Web App on iOS -- they do not support it.
Quote from here: https://github.com/eligrey/FileSaver.js/issues/479
This issue is based on the general iOS WebKit download attribute
issue. The download attribute in iOS is not working, therefore the
browser does not recognize the generated ObjectUrl as download and
ignores the provided filename.
This issue cannot be resolved by WebKit itself, because it involves
iOS proprietary code, which is the reason why all browsers on iOS are
affected. I personally triggered an Apple Care incident assisted by
the Browser Compliance Center of my employer and got a feedback from
Apple.
This incident was classified as high priority and will be fixed for
future releases. It will not be available in iOS version 12.1 or any
prior version.
I have been using google actions with actions sdk and most of the functionality seems to work. However, I am facing consistent issues across a few alpha test users on the updates to the application.
I notice that the latest deployed to the cloud function is what seems to run on the Simulator but an old version appears when viewing on a phone. For example, the icon that I set in the images directory is just not showing (even after 2 days) on my phone while the latest appears in the Simulator. The same with some images from Cloud storage. I tried clearing the cache and storage from the Assistant app on my android phone. Yet the problem persists.
Is there some setting or disabling of cache that needs to be specified in the NodeJS based client code or in the actions console? Thanks.
Go to the Test tab and click on the Reset Test option, such as in the screenshot. It should work.
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
I recently changed the following things on our Apple Dev portal. I asked this before but wasn't very clear on what I had changed.
I'm using:
- Phonegap 2.1.0
- iOS 6 min 4.3
- XCode 4.5
I am using only development certificates for testing. We aren't testing the production certificates yet.
App ID's : Enabled Production Push notifications.
Provisioning: Added a distribution entry and removed 1 device from the profile.
I also changed the Product/Bundle Name in the main target.
I downloaded the new certificates and installed them.
I get a token perfectly, it registers for notifications. I don't get an error from Apple feedback. Is there anything that I changed that would effect push notifications? Would I ever have to re-download anything but the provision profile after making changes? I'm testing on an iPhone 4, I've rebooted several times and switched notifications on/off.
I also added the AppStore build scheme if that has any effect.
Well they started working after I changed the Bundle Display name back to the original name, but I don't think that's what fixed it, I had done that before.
Anyone having problems deploying Enterprise apps on iPhone/iPads running the released version of iOS 5 using the OTA ("over the air") methodology?
During the installation process, we get the alert box: "the app could not be installed at this time". Tapping the Retry button does nothing. In some cases, repeated tapping of the Retry button eventually results in a gray, empty launch icon being left on the home screen. No app installed. No other errors.
Anyone else seeing this or have a resolution?
The below description is a bit involved, but please bear with me as it may help others who run into the situation. I will post the resolution if get a resolution from Apple. So far, no joy there.
Our app refuses to install OTA on iOS 5. This same app WILL install on iPhone/iPad devices running iOS 4.x.x AND the same app will install on iOS 5 devices physically connected to a desktop machine using the iTunes app.
The Apple Developer forums under the IOS 5 Beta category complained about the problem but no indication of resolution as of last week just before the official release of iOS 5.
Cookies are set to be accepted.
Bowser cache and history cleared.
Using mobile safari originally installed with original iOS version 4.x.x.
System hardware and operating system configuration
iPad 2, iPhone 4 or any iPhone device running iOS 5 RELEASED version.
Browser and version
Mobile safari that is installed with iOS 4 on ipad2. Don't know if mobile safari upgrades with ios 5 upgrade.
Using a corporate wifi network. Yes, we are behind a firewall and use a proxy server. Since iOS4 devices install without problems, I don't think installation being blocked by the proxy or firewall.
Enterprise app built with Xcode 4 and ios5 sdk provided with it. Built to be backward compatible with iOS 4.0.
Distribution provisioning profile is correct as we have been using it for several weeks.
This app installs properly on iOS 4 devices both over the air and via iTunes application method.
This app installs properly on ios5 devices through the physical connection with iTunes application on the Mac desktop.
Steps to reproduce:
User types in the URL in mobile safari on iPhone/iPad running ios5.
The resulting webpage shows the download app link.
User taps on the link and is asked if they want to install the app.
User taps the yes, install button.
App proceeds to install.
A gray launch icon shows up on the home screen with the progress bar empty at the bottom of the icon.
Message below the icon indicates "loading".
Seconds later, user gets the "cannot download app at this time" error message as seen in screen shot attached.
Tapping the retry button results in the same action just described.
Tapping done results in the download stopping.
If you tap retry several times, user sometimes is left with the gray empty launch icon, which will not launch and cannot be deleted.
Note: In the apple developer forums, under the iOS 5 beta category, people are describing the exact same problem with no resolution.
Had the same problem, and was able to resolve it. However, the error noted is not specific to a single cause that handles every case... some detailed investigation needs to occur.
Your best bet is to connect the device to your Mac, and using the Organizer of xCode view the console logs while you are attempting to do a wireless deployment. There will be some useful information available -- please post the logs.
For my case -- the icon files were missing from the build, as a result of moving from xCode3 to xCode4 and also, the distribution plist was referencing an image that returned a 404. Both were logged in the console, but not very clearly.
Also, as a sanity check, manually verify the URL to your IPA file also.
I had this same problem and was sure everything was correct in my project; but restarting Xcode and doing a clean revealed my Enterprise scheme had somehow defaulted to the wrong provisioning profile.
Re-selecting the correct profile and re-archiving the app fixed the issue for me, I'm able to install an enterprise app on both iOS4 and 5.
I wanted to chime in after fighting this for a few hours. It is iOS 5 specific.
We had an htaccess password protection on the directory. Removing this allowed the app to finally download. So if you have htaccess, perhaps you can point the user to a parent directory that is password protected, then navigate to the subdirectory containing the app that isn't password protected. This is a temporary solution, apple needs to fix this.
Another thing to consider is the URL you specified in your over-the-air Application.plist file. I received the same error message ("-application- could not be installed at this time") because the URL I specified was too unspecific. Rather than writing "directory/directory/application.ipa", I had written "directory/directory/". You must include your application in the complete URL of the plist file's configuration.
If you didn't do this, don't fret! You don't have to rebuild the entire thing from step one, you can open your .plist file in any standard text editor and simply change the URL.
We had the same thing.
Our mistake was to point to a wrong 512.png icon in the manifest.
Which was no problem on iOS4 but turned out to stop iOS5 into a "...at this time" alert.
Wanted to chime in on my experience.
In my case, we were changing the address where the IPA file was hosted. Although I updated the PLIST file with the proper URL to the IPA file, iOS was still going after the old URL almost as if it cached the PLIST data. Creating a copy of the PLIST file and renaming it resolved the issue (data within the file remained unchanged)
I met the same problem today. The app can be installed in ios4, but failed in ios5 with "** could not be installed at this time" alert.
According to patricksan's suggestion, I download iPhone Configuration Utility 3.5 for Mac OS X, and try to catch the log while install the app through OTA.
The log helped me finally, one sentence of the log says entitlement 'get-task-allow' has value not permitted by a provisioning profile. It remind me that if the code signing identity in build settings of Project and Targets are correct, after checking them in Xcode, I found the code signing identity are not correct one, they should be iPhone distribution:.... other than iPhone developer:..... After correcting them, and re-Archiving the ipa file, it can be installed in iOS 5 now.
Check your Info.plist for Required device capabilities property. I recommend to delete completely this property if you haven't any restrictions on use.