• LANGUAGES
    • English English
    • Français Français

Sompom Digital Agency

Sompom Digital Agency

Sompom digital agency helps build Web & Mobile applications and games.

Kh/En (855) 98 900 736
En/Fr (855) 78 900 736

Email: contact@sompom.com

Sompom Digital Agency
Building 36, St 169, Phnom Penh

  • About Us
  • ACCUEIL
  • ACCUEIL
  • HOME
  • THE COMPANY
    • ABOUT US
    • CAREERS
    • HR OPPORTUNITIES
    • PROCESS
  • L’ AGENCE
    • A PROPOS
    • NOTRE MÉTHODE
  • Our Expertise
  • Microblogging
  • HR Opportunities
  • Careers
  • NOTRE MÉTHODE
  • NOTRE EXPERTISE
  • NOS PRODUITS
    • LES JEUX MOBILES
      • Garden quest family, Un puzzle addictif!
      • 1WORD, Le meilleur jeu de mots au monde!
      • Shapu, Le casse tete!
    • LES APPLICATIONS
  • Contact Us
  • Privacy Policy
  • OUR EXPERTISE
  • OUR PRODUCTS
    • GAMES
      • Garden family quest, A Match 3 Puzzle game!
      • 1WORD, The best word game ever!
      • Boru the Amazing running Ninja!
      • Shapu, The brain taker!
    • APPLICATIONS
  • EULA
  • CONTACTEZ NOUS
  • CONTACT US
  • MICROBLOGGING
  • Home
  • Technology
  • Archive from category "Technology"
March 28, 2023

Category: Technology

Build on IOS running time…too long!!

  • 0
Sompom Team
Friday, 07 August 2015 / Published in Games, ios, Mobile, Mobilegames, Technology, unity, workflow

Hi,

Build on IOS running time : too long.

The workflow to build from unity to iOS device takes a lot of time. 10Mn, 20mn for some projects.

We got the issue with Frant’s garden also. It’s a lot of time. But the worst is when the build time from Xcode that takes forever. And the biggest issue is when all that is for nothing because you have a build Failed at the end just because some native plugin you have in your unity projects has not been copied properly during the xCode export.

Here is the solution : Post Processing script.

You have some example of what is it here for the curious:

http://answers.unity3d.com/questions/220259/postprocessbuildplayer-not-working-in-35-after-upg.html

best football dropping odds droppingodds.bet dropping odds movements and best soccer odds for today
today football predictions from the experts footballtips.bet best soccer predictions and betting tips

We took some sample and we modify it to take care of our beloved native frameworks (monetizations frameworks ads like chartboost, vungle and other mediation stuff like mopub and so on.

One of the issues is also to setup properly the arc flag on some files, here is how it got working to add the proper compiler flag in xcode.

Thanks to the Install mod_pbxproj module from Python.

<code>
import mod_pbxproj
from mod_pbxproj import XcodeProject
project = XcodeProject.Load( pathToProjectFile + '/Unity-iPhone.xcodeproj/project.pbxproj')
# files that require ARC need to be handled here
filesThatRequireArc = [ 'FacebookNativeAdAdapter.m',  'UnityAdsMopubEvent.m', 'MPVungleRouter.m' ]
for arcFile in filesThatRequireArc:
temp = project.get_files_by_name( arcFile )
if temp:
buildFiles = project.get_build_files( temp[0].id )
if buildFiles and len( buildFiles ) > 0:
for buildFile in buildFiles:
syslog.syslog( syslog.LOG_ALERT, 'swapping ARC flag on for file: ' + temp[0].get( 'name' ) )
buildFile.add_compiler_flag( '-fobjc-arc' )
else:
syslog.syslog( syslog.LOG_ALERT, 'could not find file to switch compile type to ARC' )
</code>
builddevexperiencesflexibleframeworksFrant's gardenhintiosprojectsunityworkflowXcode

Snippet for changing the language configuration from inside the app?

  • 0
Sompom Team
Friday, 07 August 2015 / Published in Android, Application, development, Mobile, Technology

 Change language in application

A usefull snippet if you want to change the locale of the app without having to go through the settings.

Configuration conf = getResources().getConfiguration();
 conf.locale = new Locale(iso3SupportLanguage[position]);
 DisplayMetrics metrics = new DisplayMetrics();
 WindowManager wm = (WindowManager) getActivity().getSystemService(Activity.WINDOW_SERVICE);
 wm.getDefaultDisplay().getMetrics(metrics);
 getResources().updateConfiguration(conf, metrics);
 Resources resources = new Resources(getActivity().getAssets(), metrics, conf);
 resources.updateConfiguration(conf, metrics);
androidApplicationassetscodeconfigurationlanguagelocalsnippet

Flow Layout in your face.

  • 0
Sompom Team
Friday, 07 August 2015 / Published in Android, Application, development, Technology

There is no native FlowLayout component, so for people. The following library gives a hand, but changing the space between category can be tricky, so we made it as default to get things done.

Take a look if you are interested:

https://github.com/hongyangAndroid/FlowLayout

androidflowFlowLayoutgithubjavalayoutnativenichesstrategic

Your apps is slow when building multi-dex

  • 0
Sompom Team
Friday, 07 August 2015 / Published in Android, Application, development, Technology

What is the problem?

Slow to build the app if the app is multi-dex (over 65K method). And the build time is taking more than 1mn.

 

What’s the solution?

We can configure to make build multi-dex faster. Your device just need to have Android Lollipop or up.

 

Configure gradle like below

android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}

When building, select devDebug in Build variant

 

More detailed stuff from here: https://developer.android.com/studio/build/multidex.html

androidApplicationbuilddebugflavorslollipopminsdkversionmulti-dexpluginprogard

Recent Posts

  • Daily Technical Note – TEXTURE COMPRESSION MEMO

        Texture Compression with Texture ...
  • 2 collection views in 1 view controller

    The idea: We need to use 2 collection views in ...
  • Build on IOS running time…too long!!

    Hi, Build on IOS running time : too long. The w...
  • ANDROID PRODUCT FLAVORS – One project to rule them all

    What is the problem: First, If I want to build ...
  • Snippet for changing the language configuration from inside the app?

     Change language in application A usefull snipp...
  • About Us
  • ACCUEIL
  • ACCUEIL
  • HOME
  • THE COMPANY
    • ABOUT US
    • CAREERS
    • HR OPPORTUNITIES
    • PROCESS
  • L’ AGENCE
    • A PROPOS
    • NOTRE MÉTHODE
  • Our Expertise
  • Microblogging
  • HR Opportunities
  • Careers
  • NOTRE MÉTHODE
  • NOTRE EXPERTISE
  • NOS PRODUITS
    • LES JEUX MOBILES
      • Garden quest family, Un puzzle addictif!
      • 1WORD, Le meilleur jeu de mots au monde!
      • Shapu, Le casse tete!
    • LES APPLICATIONS
  • Contact Us
  • Privacy Policy
  • OUR EXPERTISE
  • OUR PRODUCTS
    • GAMES
      • Garden family quest, A Match 3 Puzzle game!
      • 1WORD, The best word game ever!
      • Boru the Amazing running Ninja!
      • Shapu, The brain taker!
    • APPLICATIONS
  • EULA
  • CONTACTEZ NOUS
  • CONTACT US
  • MICROBLOGGING

NEWSLETTER SIGNUP

By subscribing to our mailing list you will always be up to date with the latest news from us..

We will never spam!

GET IN TOUCH

Khmer & English :+(855) 98 900 736
English & French :+(855) 78 900 736
Email: contact@sompom.com

Sompom Digital Agency
Parkway Square, St 163, Phnom Penh, Cambodia

Open in Google Maps

Could not authenticate you.
  • Tweet
  • GET SOCIAL
Sompom Digital Agency

© 2022 All rights reserved. Sompom Web and Mobile agency.

TOP