How to embed Autodesk Forge Viewer with mobile app? - ios

I was using ionic and angular to develop a mobile app that could display the pdf, image or dwg file within the forge viewer. It works all perfectly on the website monitor, but when I deploy the app in the ios phone and the android phone, I found out that if I open the dwg file and some image file, the app will crash sometimes. Btw, some extension is not supported by ios, such as pushpin extension. It seems that three js works not good in ios.
I also check the document about the "Create iPhone Apps Using Forge Viewer & React Native" in the forge viewer official website. After I follow the steps to build the app with native react and deploy it on my phone, pdf and image file works good but not for the dwg file.
I have experience building apps with ionic but not React Native. Compare to these two frameworks, which one should I pick? If I continue using the ionic framework if there is any way I could use to improve the performance of the forge viewer inside my app? or would it be better to switch to React Native?
For tech questions, how could I avoid the app crash and improve the performance? I checked the A360 app on the app store, I found out that the app is using the offline data, it will download all the data once it opens the file. Should I do the same way?
App Viewer

Technically both RN and Ionic embeds Viewer as external dependencies in WebView so there's no material difference/pros and cons in the approach to embed.
As such I'd recommend to go with the framework you are more comfortable/experienced with - although RN seems to be blessed with a couple of samples but those do little more than scratch the surface when it comes to a real world solution so you can get up to speed with their approach and go from there.
Performance wise yes - downloading the derivatives (SVFs) to the client side would certainly improve load times - you can either see here and here to download, store/package locally and override request handling of WebView to load them (as Viewer only supports http(s) and not file or other protocols) , or cache the resources with Service Worker following here and here.
You can look around SO for other performance related questions - mostly they are about setting the memory options, correct FPS targets, consolidating geometry, selective loading and adjusting navigation options - for specific issues you can post another question or email forge.help at autodesk.com for assistance.
It is okay to open the dwg file less than 1mb very soon, but if the file is larger than 1mb, it will take some time to load and is hard to zoom the viewer.
I'd suggest to download or cache the derivatives (SVF) locally to boost loading performance. I was unable to reproduce any difficulty with zooming - did you set viewport in head meta tag?

Related

Is it possible to create a IOS app that can download plugins and extension later?

we have a ios app that provides the platform for many similar games. When you install this app. This app already contains binaries of x number of games.
Now we are having size issue. So just wanted to know is it possible to create a ios app that can get installed and after that as per user selection can download the games binaries separately and then run. Like a app that can download games as plugins or extensions.
I work on game side part so i dont know anything about ios apps. but so far my understanding is -> when you create the ios executable then while compiling you should have all the code present (app + all the games it will run).
It is not possible to download a native executable and run it -- that is not a capability provided by app extensions.
One loophole you might consider: it is perfectly permissible to download and run javascript, or anything else that runs in a UIWebView or WKWebView, which are both sandboxed from your iOS App's process, and have access to OpenGLES 2.0 in the form of WebGL. There are also apps which have been accepted in the App Store which can run code in interpreted languages like Python.

Trimming down skobbler map size & offering download alternatives

We're making offline road-trip planner.
We want to use skobbler maps but the main issue is that the framework is way too big.
Even with some trimming down options, it's still over 110Mb (only with skobbler framework).
Inside SKMaps.framework there is a document SKMaps with 95Mb is size.
No program can open this document (at least no program i have on my mac atm).
I was wondering what might be in this document and is it possible to 'open' it and remove unnecessary files from it.
I am asking this because when I launch my app with skobbler in it, there is a map of entire world available to explore.
I don't need that. I only need several states in the US and that's it. One state is roughly 30Mb in size, which is acceptable and download option for each state can be an asset, so a user downloads only what he needs.
IF there is no way of deleting entire world map from framework, what are my other options?
Can this file SKMaps, with 96Mb in size be downloaded after a user launches an app, so I don't have a huge app on the app store?
Can i write and launch my app without SKMaps in the app bundle from the start, and I make the user download it once he starts an app for the first time?
Edit the SkMaps.bundle and this will impact the .framework object.
Indeed, the unpacked size will be > 100 MB but when packing it (generating the .ipa file) it will only add ~20MB to the final app file (i.e. compiling the demo project without audio advices and only 1 style, targeting both armv7 and arm64 will generate a .ipa file of ~ 19.4)
By default the demo app does not "contain" any maps - it connects to the servers and downloads the map from there.
If you'd like to download "offline maps" - see the "Maps.json and downloads" example in the demo app.
If you're intent is to "prebundle" an offline map within your app see: http://sdkblog.skobbler.com/creating-an-app-with-a-pre-bundled-map/

Large app size in AppStore. Is it allowed to download external assets?

I've developed a game, it's total file-size with all assets is about 220Mb.
The game is developed in Haxe language with a framework called openFL - that allows to compile iOS and Android versions from a single source.
Because Android's Google Play doesn't allow apps larger than 50Mb in one go, I've separated the graphics assets and sounds from the code, leaving the app at about 1.5 Mb. I don't want to make a separate branch for iOS, so I'd like to use the same logic for App Store as well.
My question is - is it allowed to download the external assets for iOS similar to how Google play does it? Will App Store host these files for me?

iOS Downloader App and Ecommerce Package?

I'm having to launch an ecommerce store that sells audiobooks, and one of my top goals is to make it more mobile friendly. The actual purchase portion isn't a problem, but since iOS doesn't allow in-browser downloads of audio files, I'm looking at having to provide an app for that purpose.
Is there a packaged ecommerce/downloader solution that I could use, such that rather than designing an app from scratch for my store I can build the store using the ecommerce solution and do some configuration to the app to link them up? The only real requirement is that people be able to sign into their accounts, and play/download any files they have bought.
If not, are there any open-source core downloader iOS apps I could use as a base to design my own downloader? I've tried my google-fu, but any query that involves "iOS" and "download" just results in a million "how do I download my app?" FAQs from across the internet.
(I'm not concerned about Android as much since they can just download the audio files, though if the solution supports apps for both so much the better.)

Embed Adobe Air/Flex application inside a standard iOS application

I have a native (Obj-C, standard Xcode project) application and I'd like to integrate a partners iOS application (or specifically, it's functionality) into it as just another view in my application. The problem is that their application is a Flex/Air app. I really don't understand the Adobe compilation process on how it gets from a bunch of flex code down to an IPA. I don't see intermediate projects, shared objects, etc on the disk to produce that IPA. It looks like it doesn't rely on the Apple tool chain... as I understand it, you can produce the IPA on Windows as well.
Is there any way to build that Flex app in such a way that I can import it into Xcode so I can link against it and use it as a library from within my application?
While I specifically used iOS as an example since that is the most important platform, we'll want to apply this solution to our respective Android and Blackberry 6 apps as well.
No, you cannot embed an application within another application. This is true for all applications. Only thing you could do is get the swf of your partner's code and embed that into an Air application, but since you're not using Actionscript/Flex, it won't be possible.
Only other way would be to have an app link to the other application.

Resources