Hello,
I need to understand if this is feasible.
I need to open a local HTML file placed in the temporary folder of an iOS Swift app in Safari, from the app itself.
At present time I know it is possible to open an Url in Safari, but I am asking about
1- using the file:/// scheme (like Android does)
2- providing directly the HTML text
I have this specific need not to use the WKWebView because I want that the user can exploit features like saving credentials, caching and so on.
I do not know if the WKWebView is able to provide this kind of features, and I do not want to have this kind of features directly in my app for security concerns.
Also other workarounds or solutions are welcome.
Thanks in advance
Post
Replies
Boosts
Views
Activity
I found this link
https://forums.developer.apple.com/community/distribution/testflight
In another thread about finding TestFlight codes.
The link above is not going to help me to find that forum, it does not exist.
I am looking for some eager people to preview my app.
I can invite a certain number of people to test or just preview my app (please have a look at https://app.airport.community/app/recvJ7w97YTBKvv64 to contact me)
Otherwise, where is the TestFlight forum?
Regards
Hello,
I would like to have some fringe information about ioS Safari App extensions.
My need is passing some HTML to the iOS Safari browser so a new tab or window is opened and the HTML rendered (and its Javascript executed, if any).
Being that this is not possible directly, and said that I need that the HTML is handled by Safari and not by a WKWebView or by a SFSafariViewController inside my app,
I thought about using an app extension.
This seems to be cumbersome, especially for the reaasons described here:
https://www.wildfire-corp.com/blog/to-apple-your-new-mobile-safari-extensions-are-great-can-opting-in-be-made-easier
I do not know if something has changed or will change, I did not dive in the extension development yet.
My idea is creating an extension with access to only a special domain, like html.myapp
The url would be https://html.myapp/37h238rd83dt2d2tr8fai33cf
When my app wants to open an url like that, Safari should open a window and start the extension, right?
open(url,options:options,completionHandler:handler)
The url contains a sort of query parameter that is a long string (bas64?) representing the entire HTML code, or a sort of unique ID.
The script has to display the HTML after extracting it from the url, or read some shared data between the app and the extension based on the ID.
After this point no other interaction is needed between the app and the app extension.
I would like to know if the Safari browser in fact can open the new window just on behalf of a special url like the above mentioned one, that is,
an url that does not point to a real web page, being that the domain is somehow "fake", although authorised from the Info.plist file.
The domain is just for enabling Safari to receive the entire url with HTML string or the unique ID.
So would the iOS Safari browser open the window, start the script and then display the HTML?
And would all this be allowed by the submission review process?
Thanks in advance,
Regards
PS
I know that it was better that Apple allows to pass securely some HTML from a registered iOS app to Safari, instead of this workaround, even with special info.plist keys, certificates or something like that.
Hello,
I published an iOS (14.1+) app on the App Store. At present time it is free for download (see the link on my profile). It's mainly for people using public transportation.
I would like to create the companion watch app.
I am just starting to work on it but the code is already done, I just have to put it together.
The main issue seems to be that the WKWebView functionality the iOS app has to display a special list, is not available WatchOS, so the watch app cannot be created.
Is that true, or just I did not understand?
XCode is complaining about the WebKit not being available when building for the WatchOS simulator.
I could use a normal list but the user experience would be different.
I cannot find relevant information anywhere.
I am developing with SwiftUI and I used the WKWebView inside a UIViewRepresentable on iOS.
Please can anyone tell me something on this subject?
Thanks in advance
My app is published.
It is a paid app but at present time the price is 0, as a courtesy for early users. Days price was not 0 from the start, so now it is free because I changed the price some days after the publication.
I would like to charge for my app according to the freemium model, that is, the authoring/saving features are limited until the user performs the in-app purchase or subscribe (very low price).
I would like to know if it is possible now to do so, so that the reviewers accept the change.
I do not know if early users get the new version automatically so that they have to make the in-app purchase. I think so.
The price was set to 0 only as a temporary courtesy for them, but now they could be unwilling nonetheless.
What they have created will still work, they just cannot create new content.
Thanks
Hello,
let's say that at a certain point I have two published apps on the App Store.
One is the main iOS application, that is a paid app, and the other is a limited version of the main one, like a "lite" version.
Let's say that they are both published because the lite version was accepted by the reviewers (indeed it is what should happen).
The lite version is a complimentary app that can be used for just using the main functions when some third party provided you the content.
But some users could be interested in having the complete version to be able to author or edit the content themselves.
I would like to know if it is acceptable that in the "lite" app
-there is a button clearly pointing to the App Store page of the main app
-a menu entry
-a hyper-link in the guide.
-other options
Thanks
I would like to know if a function is available in Swift or Objective-C for an iOS 14+ application to retrieve the very first installation date of the app from the App Store on any device.
It would be useful for me to grant full access to the app features in the case I introduce the freemium model for my app. I asked aboout this change here
Free app introducing in-app purchase for some features
I want to grant the full functionality to users that installed the free version as I pointed out in a further comment, but no one answered.
I do not know if this is possible without App Store server interrogation, I mean with just an information that is on the device registry because the app is installed, and refers to the first installation ever, not on this device alone, and not being lost with factory reset procedure or similar.
Alternately another useful information would be the most ancient app version or build number that the user got from the App Store ever.
Some suggest to deploy an intermediate version that stores the app version or build number in some persistent user data location.
Thanks
I would like to know if there are some well-known web technologies on Mac OSX applications or iOS apps that allow an application to show and demonstrate a real HTML rendering WYSWYG for different iOS devices, dimensions, resolution, dpi, retina, viewport meta tags and so on.
It is like the iOS simulator, but I see that on that special piece of software the WKWebView is not reliable as it comes to these features, and it is a development tool.
It is important that dpi, retina, viewport and so on are considered to create such an application that is WYSWYG, also if in a scaled form, or exploting the Safari browser.
I think that web developers already face this issue, so I think that the related technologies have been already developed and are available.
But I am no expert so where could I search for them?
I mean, some platform or example application, or similar tools.
The goal is creating an application that can show the result of HTML rendering inside windows (similar to the iOS simulator) that can be proportioned to real devices and allow choosing the device form factor and screen, also in scaled form, but depicting the exact HTMl rendering that will happen on the real iOS devices, but possibly also Android devices.
Thanks in advance
My app is published on the AppStore.
It is full featured, but now I am going to publish a simplified version that is sort of a lite version of the app.
The two apps are related, the full version being able to create content and a special kind of file to be exported, that the lite version can import.
The complete version has authoring features and is free at present time but it is going to be paid.
The lite version is free, and it is intended for being able to provide a service to customers or other people who do not have to buy the full version.
The name of the two apps are sort of
myapp
myapp lite
The app icons have some recognizable graphics in common.
My question is about the promotional text and the description.
I would like to know if
it is possible to make explicit reference to the main app in the promotional text and in the description
It is possible to include also a suitable description of the main app in the description
Thanks in advance
My app is on the App Store. Now I would like to publish a "lite" version of my app.
Its name could be something like "MyApp lite", it has only a reduced set of features.
I think it would be accepted on the reviewal process because it is not unusual that two similar apps are in the App Stores, one having just the main features and the other being complete.
Let's say they are identified by
com.myappdomain.app
and
com.myappdomain.app.lite
1-Is it possible to publish such a "lite" app along the main one (different pricing or business model)?
2-Can its name be like "MyApp lite" (or similar wording)?
3-Can they have the same app icon?
4-Can they be installed at the same time on a device?
5-The two apps are compatible with a special data type, importing, exporting, and launching with files with a special registered file extension.
This is from the info.plist
<key>CFBundleDocumentTypes</key>
...
<key>CFBundleTypeName</key>
<string>com.myappdomain.mydatatype</string>
<key>NSUbiquitousDocumentUserActivityType</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).mydatatype</string>
...
<key>UTExportedTypeDeclarations</key>
...
<key>UTImportedTypeDeclarations</key>
...
<key>CFBundleDocumentTypes</key>
...
<key>CFBundleTypeName</key>
<string>com.myappdomain.mydatatype</string>
<key>NSUbiquitousDocumentUserActivityType</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).mydatatype</string>
...
I changed the bundle identifier in certain places for the new project (the original code, stripped of many features)
but I see that there is also
$(PRODUCT_BUNDLE_IDENTIFIER).mydatatype
for NSUbiquitousDocumentUserActivityType
that changes for the two apps, while the other plist settings are the same.
Is it right?
Should the two apps have the same NSUbiquitousDocumentUserActivityType value instead?
Thanks in advance
Hello,
My iOS SwiftUI is complete. I would like that someone perform some tests, like beta testers, but the app is not beta, it is going to be reviewed.
I just need some feedback and brief videos of some of its features.
I am wondering if it is possible to find some Testflight testers here.
I saw some posts from people asking for a Testflight code.
I am new here, this is my first iOS app, so I do not fully understand what those posts mean. Maybe they are eager to perform some tests on a new app out of curiosity.
What if I created a public Testflight link and propose it on this forum?
Would be someone respond? Would I find some testers?
I never used Testflight so I do not know if am able to create the public link.
If yes should I publish some instructions? Because I do not know if the instructions in the Testflight section are visible to testers.
Or are there more suitable official places for finding Testflight testers? Can you please tell me?
Thanks in advance
Best regards
Hello,
I cannot add my developer account to XCode but I can add to VisualStudio for Mac.
After some attempts, after the installation of the required tools, I managed to add my Apple developer account to VisualStudio for mac.
I entered the id and the password and then received the two-step verification code on my smartphone.
I entered the code and the operation completed.
How could I export this kind of account profile from VisualStudio to Xcode?
Or is it possible that the two-step verification is not working from Xcode itself?
I need to upload the release build executable of my SwiftUI app for review.
Thanks
Hello,
I finished my SwiftUI application.
I uploaded the images and the promotional text.
I have to generate and upload the release file.
I never did it before. This is my first iOS app.
I cannot add my developer account to XCode, because it does not recognize the password maybe, an error is issued from the server.
This is a common issue.
It happens to me and other developers with apparently no solution(?).
I tried with Catilina XCode 12.4 and BigSur XCode 13.
I need to release my app for the review process as soon as possible.
I think it is possible also with command line but I do not know.
I found this page:
How do I archive and export my app for distribution
I wonder whether the account/password issue would be fixed or not, even with the command line instructions.
My app is ready but I am stuck with this strange issue.
How to solve this problem with XCode or command line?
Thanks
Hello,
my SwiftUI app is localized with .strings files.
Now I am testing the localization with only one .strings file (for the English language).
The occurrences in this file are in the form of
"key"="value";
I checked the content and
" ; chars are ok
escaped unicode (\uxxxx) and \n " ' chars are ok
all entries are on one single line
the file is in a folder named en.lproj
which is inside the Resources folder.
In the build phases tab of the project the en.lproj folder is listed.
Here's the function that translates the occurrences:
func getLocalizedString(_ keyParam:String)->String
{
let result=NSLocalizedString(keyParam,comment: "")
//print("translate "+keyParam+"="+result)
return result
}
All files seem to be in the project, no need to add them again.
When running the app on the simulator (language=English) the keys are displayed and not the traslated values, like
title_label
instead of
Title
so I think the translating function does not load the .strings file.
I know this is a issue for everyone trying to localize their app, so I am asking here
which checks can I perform to troubleshoot and fix the localization?
Thanks
My Swift app should open files with a custom extension, let's say it is 'ext'.
In the info.plist file it's like
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>List of datatype</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.json</string>
<string>public.database</string>
<string>public.data</string>
<string>public.text</string>
<string>public.content</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.myapp.datatype</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>ext</string>
</array>
<key>public.mime-type</key>
<array>
<string>application/json</string>
</array>
</dict>
</dict>
</array>
the code for handling the opening is in the Application delegate but the app is not called at all.
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let url=launchOptions?[UIApplication.LaunchOptionsKey.url]
if ((url) != nil) {
//importing is implemented here
...
...
}
return true
}
...
...
When executing the app on the iOS simulator it happens that
if I select such a file from the Files app it is displayed in the Files app itself, but neither it is opened in my app, nor there is an option to send it to my app diretly.
But the extension seems to be registered because the description (List of datatype) is displayed when the file is opened inside the Files app as JSON text.
What can be done to fix the opening on behalf of other apps, like Files or eMail for example?
Is the provided info.plist snippet correct? Should I to set something else in the project?