Access iOS App / WatchOS App data from WidgetKit Complication (WatchOS 9) - swiftui

I have an app inlcuding an Apple Watch app and a WidgetKit (iOS 16) extension.
The iOS app sends data via WatchConnectivity to the Apple Watch app and displays it there. Also it provides data to a WidgetKit (iOS 16 - Lockscreen) extension using GroupUserDefaults. All of this works without any issues ✅.
My issue:
I'm now trying to supply data to a WidgetKit complication extension (WatchOS 9). I expected to be able to either access the previously written UserDefaults of the Apple Watch app or the shared GroupUserDefaults. But I can't access any of it's data. I also checked the documentation, but I can't find any methods explicitely designed to share data to the complications.
ClockKit methods will not be available for WidgetKit complications (https://developer.apple.com/documentation/widgetkit/converting-a-clockkit-app).
Did anybody manage to share data to a WidgetKit complication without requesting a Server API like in the Apple example? (https://developer.apple.com/documentation/widgetkit/adding_widgets_to_the_lock_screen_and_watch_faces)

So I can answer my own question:
App Group shared UserDefaults are available only on the device itself it seems. Therefore it's necessary to enable the App Group capability on the WidgetKit extension of the Watch app as well as on the Apple Watch app. The Watch App can then write the data recieved through WatchConnectivity to the App Group shared UserDefaults from where the WidgetKit extension can access it.
So if you encounter any issues, check the capabilites of both targets and also profiles and identifiers, if you manage certificates manually/fastlane.

Related

Does anyone know if it's possible to put your Django Heroku apps onto App Store/Google Play?

I have several apps that i've written in Django and host on Heroku. The website address works great but if people want to use my app on their mobile device i have to instruct them to visit the website then click Add to Home Screen so an app icon appears on their phone. Is there a better way of doing this so they can just add the app from say the App Store/Google Play?
Yes you can add your PWA (progressive web apps) to Google PlayStore. There is detailed official documentation about this.
But in case of App Store Apple doesn't supports to put PWA on App Store. But there are different ways to achieve this PWABuilder is one among them. And also that doesn't guarantee that your app will be accepted into Apple’s App Store. In 2019, Apple released new guidelines for HTML5 apps in the App Store. The new guidelines appear to forbid certain kinds of web apps (e.g. gambling, lotteries, etc.) from the iOS App Store.

Which Platform of Unity is best for Facebook Canvas App

I want to deploy my Unity3D game on Facebook as canvas App. There are two platforms in unity version 5:
WebPlayer
WebGL (Preview)
I have no idea about both of these builds. I am using Parse to store my user data. And Facebook Unity SDK for social gaming. I have built for IOS platform and now for Canvas App deployment I want to know:
which one of these would be best for Canvas App?
I want to know if there are any issues regarding Parse API or Facebook Unity SDK for
WebPlayer/WebGL build?
EDIT:
I have built for WebPlayer and i can not run it on Google Chrome.
does it have to do anything with Canvas App too?
I have built for WebGL and tried to run it on Google Chrome and got this alert:
( I am using Google Chrome Version 44.0.2403.107 (64-bit) )
Any suggestion/help is highly appreciated.
I will suggest you to not build your game in webplayer, because chrome is dropping support for unity webplayer(Google Chrome version 42 and later has disabled all NPAPI plugins), and other browser will also drop the support sooner or later. The best way forward is to use webGL. WebGL in unity is still getting evolved, but this is the future. I also have developed game for webGL, I didn't face much problems except data storage. Parse does not support webgl yet, you have to look for other services. In my case I have build my own php server and it is working fine. Anyways you have to choose what is best in your case. You should use webGL , but thats my opinion.
The error message is more or less self-explanatory: Chrome doesn't support running Unity WebGL when it is run from a local file on disk, because of Chrome security. This is not a real problem, as in production it will always be run from a webserver (http://).
During development, your options are:
Start chrome with access to local files: chrome.exe --allow-file-access-from-files
Host a local webserver (Apacha/WAMP, IIS, etc)
Use firefox
You are correct. Building the unity for the web is the way to go. You select web from the build settings and you can upload it to the facebook canvas. The thing with chrome is that it no longer supports NPAPI and that is what the Unity web players uses. You can manually enable it and try out your game in chrome. But for the majority of chrome users unity web player no longer works.

cookies permission for chrome app

I am trying to make a custom cookie manager app for chrome, but the "cookies" permission in the manifest.json file gets me this warning
'cookies' is only allowed for extensions and legacy packaged apps...`
My app can't be an extension instead because I also want access to "filesystem" and maybe "usb".
This is not the first time I need extension APIs for an app or vice versa. Is there any way to make an app that can use extension APIs or the other way round?
You could develop an extension as a dependency for your app. It's not ideal since it requires the user to install two items but it should work. You can implement message passing between your app and the extension to call the needed APIs.

Chartboost sample app not showing Ads

I am trying to integrate a tool Chartboost into our game.
We are using following tools for development.
Xcode 5.0.2.
Latest ChartBoost Library.
Deployment target being iOS 6.1.
Base SDK being iOS 7.0.
Game Engine Cocos2d-x ( C++ ).
In order to use ChartBoost I followed these steps.
Created an account at Chartboost.
Added an app
Platform: iOS
Nick Name: Added
-Test Mode: Enabled
and Its showing the App Id and App signature.
Added a Campaign.
-Its On.
-CampaignStart and End are blank, so it will be effective as soon as possible.
-Filter By Bundle verion is Min 1.0 and Max blank .(already tried by keeping both blank.)
-Selected the App I added ,as the app where this campaign will run.
-Campaign Logic: Added test device with UUID.
-Rest of the options are untouched.
For test purpose I downloaded and used the sample iOS project provided at ChartBoost site. I replaced the App Id and App signature with my App's ID and Signature.On running the app, it does not display any ads. It logs messages like :
-failure to load interstitial at location Default
-failure to load interstitial at location Pause screen
-failure to load more apps
-failure to load interstitial at location After level 1
I am not able to conclude what wrong I have done! Please help on this issue.
PS:
1. I have already received a mail from ChartBoost mentioning I have successfully integrated the SDK, and in front of added app , the SDK and Frame icons are lit(green), which essentially shows , I have integrated the SDK correctly.
2.Our game is still under development and as we are using the Cocos2d-x which is c++ Game engine ,so we will be using some wrapper to call the ChartBoost library. Once we get the idea how it works on native platform.
In Chartboost sometimes it happens that you have set in the Chartboost dashboard that your game is in "Landscape" mode for example.
While your game is actually running in portrait mode.
In such cases you will get these errors.
Make both these same. Either change in the Chartboost dashboard for your app or change in the game's project file :)

Is it possible to build offline app with Appcelerator and Rhomobile?

I have recently found those two look-alike solutions/IDE for cross-mobile development: Appcelerator and Rhomobile (I know there are more) and I have questions regarding those two platform:
1) I believe the only way to build the view is using HTML, which I like alot the ideas. But, does that mean the application itself isn't available if the mobile is offline?
2) Do you guys know if it's possible to publish the application to the App Store and Google Store?
3) Are there any simulator for different mobile and do they support all those slide/tab events?
4) And finally, are there a way to transfert the App on your mobile phone without having to publish it anywhere.
Please note that I have no knowledge at all about mobile app dev and those two solutions (Appcelerator, Rhomobile) would be perfect for me as I am familiar with Javascript and HTML.
Thank you!
Ok I have only used appcelerator but:
1) a webview is like a browser without the address bar, it simply parses HTML, where it gets it from is up to you. If you write the HTML and pass in a file well then yes it can be offline, if it is used to parse a response from a webpage well then no as it needs to send a http request to the webpage.
As many people seem to mistake (for a reason unknown to me as all the documentation states other wise), appcelerator is not the same as phonegap, appcelerator uses its own javascript based API to allow developers to make native apps, it is NOT a webview wrapper. It is offline by default and allows you to send http requests if you need something online.
2) yes you can publish to the app store and the google store from appcelerator, the documentation walks you through the process.
3) Appcelerator requires you to download either the IOS sdk or Android SDK which come with simulators, appcelerator / the emulators support the standard events found on these devices.
4) With Android to can build a .apk file and distribute however you wish, with IOS the only way is to publish to the app store. the only other way is to make a mobile website instead of an application