My name is Daniel Albu and I'm a freelance interactive developer, I specialize in HTML5, iOS, Android & Flash Development
Don't wanna be here? Send us removal request.
Text
iOS app crashes on iOS 9 after implementing the Urban Airship SDK
Recently, I implemented the Urban Airship SDK into an iOS app.
The main feature in the latest SDK was the added support for iOS Rich Notifications and content extensions (for iOS 10+).
Every time I ran the app on iOS 9, the app would crash and I would get the following error in the console:
dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications
 Referenced from: /Users/danielalbu/Library/Developer/Xcode/DerivedData/ios3-gkxrspxqytmnidfcmsabmlpwfqib/Build/Products/Debug-iphonesimulator/AirshipAppExtensions.framework/AirshipAppExtensions
 Reason: image not found
(lldb)
It’s quite noticeable that the main issue is that UserNotifications.framework isn’t loaded.
Given that it’s an iOS 10 feature, it’s understandable why it won’t be available on iOS 9, but the question was: why is Urban Airship SDK trying to load an iOS 10 specific API on iOS 9?
Another look at the error shows us that AirshipAppExtensions.framework is the source of the call to the UserNotifications framework, so I went to the target settings -> General -> Linked Frameworks and Libraries and there I set the status of AirshipAppExtensions.framework to Optional (instead of Required):
Optional linking is useful if you're targeting older OS versions where a certain framework might not be available yet, which is exactly our case...
But that didn’t help.
The app was still crashing!
I remembered that during the implementation of the SDK, the AirshipAppExtensions framework was imported as a standalone project, which means that it is compiled locally during the compilation of my app.
I went and reviewed the Build Settings of that project and I saw that the iOS Development Target was set to iOS 10.
It was something that was configured automatically once I imported the project into XCode, so given that it’s not documented in the Urban Airship documentation I didn’t give it a second though upon importing.
So, I changed the iOS Development Target to iOS 9 and voilà , the app doesn’t crash on iOS 9 anymore:
[Update: October 31st, 2017]: The SVP Product & Engineering at Urban Airship was kind enough to inform me that the docs were updated and clarified according to my feedback:Â https://twitter.com/mherrick66/status/925411303363051521
4 notes
·
View notes
Text
HTML5 Game Development Using Phaser
I will be speaking at the Boost JS conference (http://boostjs.io/), which will be held at Crowne Plaza Tel Aviv on March 20th.
I will talk about HTML5 game development using Phaser.
Get your tickets here:Â http://boostjs.io/
0 notes
Text
Error ITMS-90167: “No .app bundles found in the package”
After upgrading my MacBook Pro to the latest macOS, Sierra, I’ve noticed that I can no longer upload distribution builds from XCode 7.3.1 to the Appstore.
Everytime it started uploading the build to the Appstore, I would get the following error:
(Error ITMS-90167: “No .app bundles found in the package”)
I’ve tried a few workarounds to no avail and it seems that the only way (at the moment) to upload XCode 7.3.1 builds is to follow these steps:
1. Archive the build (Product -> Archive)
2. Once the archive is ready, right click it in the Organizer window and choose Show In Finder
3. Right click the .xcarchive file and click Show Package Contents
4. Once within the .xcarchive file, go to the Products folder, then Applications folder and finally select the XX.app file (XX is your app name), right click it and choose Show Package Contents.
5. Once inside that package, go to the Info.list file and open it.
6. Edit the value BuildMachineOSBuild and change its value to 15G31 (which is the latest El Capitan version)Â
That’s it! Now you can upload the build using XCode 7.3.1.
If you are still running into the same problem after all this, you can try using this final step:
7. Install XCode 8 (Make sure you don’t overwrite XCode 7.3.1 - in case you still need it for Swift 2.2 or lower projects) and upload the build using XCode 8′s Application Loader.
This should do the trick.
1 note
·
View note
Text
New website is now LIVE!
The domain name http://www.danielalbu.com was purchased on August 21st, 2004, a few days later I uploaded what became the first iteration of my official website.
Since then the site had many minor updates, most of them were various changes to the portfolio section, some projects were added while some were removed.
The site also had a major redesign on October 1st, 2010.
And now, exactly 6 years later, the site was redesigned again.
The 2016 version is the first one without any Flash elements, making the site quite mobile-friendly :)
So, without further ado, I present to you the 2016 version of http://www.danielalbu.com

0 notes
Text
Although this blog’s domain name is flashdeveloper.co, it seems that I use Flash less and less nowadays.
As time passes, HTML5 capabilities are more and more inline with things which you needed Flash to do in the past.
Back in 2010, while working on the OnlinePianist Flash player, it seemed impossible to create a similar project in HTML5.
The ability to play multiple sounds using exact timing while displaying 60fps full screen graphics without any help from the Flash plugin, just wasn’t in the books at the time.
Fast forward to 2016, I give you the HTML5 OnlinePianist player!
The player utilizes the HTML5 Canvas for the smooth graphics and Web Audio for the sounds and supports all major browsers.
Check out Adele’s Rolling In The Deep played on the new player!
0 notes
Text
Mastering HTML5 Game Development: Video Course
My latest course “Mastering HTML5 Game Development” is now available on the Packt Publishing website.
In this course, you’ll learn how to:
Create an interactive game using CreateJS and its various libraries
Add audio elements to game using SoundJS
With TweenJS, add a tweening effect to the game elements
Use PreloadJS to load the graphic assets of the game
Add graphical elements to the game with EaselJS
Use the local storage to add controls and support to the graphics
See how to debug the game on various platforms

You can purchase the course here
0 notes
Text
"Compilation failed while executing : compile-abc" Error while using the fast iOS packager
Since the release of the fast iOS packager, I've experienced problems with compiling release versions with it.
Because it was still in beta and since it was still possible to use the legacy compiler, I chose to use the legacy compiler each time (especially since it was more stable).
When the 64-bit iOS requirement came into play on February 1st, the legacy compiler was no longer a viable option for creating release versions for the AppStore, moreover, it was completely removed from AIR 16 (and all future versions).
So, now I had to use it to compile my app.
This is what I got when I tried to compile a release build:
Error occurred while packaging the application: Stack dump: 0. Program arguments: C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\lib\aot/bin/compile-abc/compile-abc.exe -mtriple=armv7-apple-ios -filetype=obj -sdk C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\lib\aot/lib/avmglue.abc -fields C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\lib\aot/lib/air-fields.arm-air.txt -O3 -ane-symbol=MmgCmApiExtInitializer -ane-symbol=MmgCmApiExtFinalizer -ane-symbol=MmgRbApiExtInitializer -ane-symbol=MmgRbApiExtFinalizer -ane-symbol=MmgStoreKitApiExtInitializer -ane-symbol=MmgStoreKitApiExtFinalizer -ane-symbol=MmgGoViralApiExtInitializer -ane-symbol=MmgGoViralApiExtFinalizer -ane-symbol=MmgGaApiExtInitializer -ane-symbol=MmgGaApiExtFinalizer -ane-symbol=MmgGAIDFAAccessApiExtInitializer -ane-symbol=MmgGAIDFAAccessApiExtFinalizer -ane-symbol=AFExtensionInitializer -ane-symbol=PushwooshExtInitializer -ane-symbol=PushwooshExtFinalizer -abc-file-list=C:\BingoIslandWeb\Client-branch-1.06.05\BingoIslanMobile\BingoIsland\bin-release-temp\AOT\AOTBuildOutput4982262150932522887.tmp\ABCFilesList.txt Compilation failed while executing : compile-abc
Now, you may receive a different error message, there are many variations to it, but the bottom line is the same: You cannot compile a release version using the fast packager.
Here are some of the actions you can take which may assist you in overcoming this problem (the solution which solved the issue depicted above is the first one):
1. Change all the constants to variables ("const" -> "var")
2. Check if there are any empty switch statements, if there are, remove them.
3. You are using an outdated AIR SDK, you can download the most updated version from here.
If you are experiencing this problem and none of these solutions help you, feel free to comment.
0 notes
Text
Enabling TestFlight testing in iTunes Connect for Adobe AIR apps
With the release of the new iTunes Connect interface, TestFlight (which was acquired by Apple in February) was heavily integrated into the app submission process.
One can now directly test the builds which were uploaded for public distribution.
After uploading a build of your Adobe AIR compiled app, you may notice the following error message:Â
(To Use TestFlight Beta Testing, this build must contain the correct beta entitlement)
And you'll see the error icon beside the build itself.
In order to fix this problem you need to do 2 things:
1. If you have an existing Distribution Provisioning Profile that was generated before the launch of TestFlight Beta Testing, you may need to regenerate the profile by clicking "Edit" on that provision profile
and clicking "Generate".
2. In the -app.xml file, inside the <iPhone> tag, add the <Entitlements> tag (if it doesn't exist).
And add the following tags in it:
<Entitlements>
<![CDATA[ <key>get-task-allow</key> <false/> <key>beta-reports-active</key> <true/> ]]>
</Entitlements>
Now, you can compile the app and upload it to the AppStore with the TestFlight features enabled.
4 notes
·
View notes
Text
Type Coercion exception messages with MovieClips in ASC 2.0 compiled apps using multiple SWCs in Flash Builder 4.7
One of the main problems I encounter on a daily basis while compiling apps in Flash Builder 4.7 is the Type Coercion failed: cannot convert flash.display::MovieClip@xxxxxxxx to YYYYYYYYY error. (xxxxxx is a random number, while YYYYYYY is a name of a random movieclip in your code).
This problem happens when trying to compile apps which include several SWC files and are compiled using the ASC 2.0 compiler.
Now, this issue is completely random, but you can be certain that this issue will occur in your app in case you see one of the assets from one of your SWC files blinking endlessly - this is presumably due to the compilation process removing all inner code in the assets (including any stop() commands that may have been there)Â
This issue is extremely time consuming since you have to recompile the same app over and over and then go through all of the app's screen one by one to see that this issue doesn't present itself somewhere.
I've been able to figure out a process that would ensure a valid compilation most of the time - I run 4Â Clean Project commands in a row and only then do I try to compile.
So far, by using this method I've reached some good results, but the issue can still occur from time to time even in this method - moreover, it's not really practical to do so while testing - compilation time is long enough, running it 4 times in a row is time consuming and annoying.
I saw some blog posts about it in the Adobe forums and people keep posting about it to no avail:
http://forums.adobe.com/message/4864677
http://forums.adobe.com/message/5554008
Currently, there isn't a proper solution for this issue neither from Adobe nor from an unofficial source.
And for some reason, even the official bug that was opened for this issue:Â https://bugbase.adobe.com/index.cfm?event=bug&id=3562040Â was closed by Adobe.
Any of you encounter this issue on a daily basis?
0 notes
Text
Flappy Kid - New Android Game
Check out my latest Android game: Flappy Kid!
Help Udi go through as many pipes as possible!Â
0 notes
Text
Royal Chef - Match-3 Game
Royal Chef is a new Israeli reality show. I recently developed a match-3 game for the show's official website.
You can play it by clicking the image below:

0 notes
Text
Captain Underpants - Find The Difference Game
Captain Underpants is a children's novel series by American author and illustrator, Dav Pilkey. I've recently developed a "Spot The Difference" type game for its Hebrew adaptation for Walla! Check it out!
0 notes
Video
youtube
Ken's Date (Apple Switch)Â is a Flash animation I released in 2005.
This animated short won the Daily Feature award on Newgrounds.com and was featured on the Newgrounds front page.
I've uploaded it this week to YouTube, so now you can watch it in HD.
Enjoy!
0 notes
Text
Flash Builder 4.7 silently crashes on startup [Updated]
In the last couple of weeks, every few days Flash Builder silently crashes when I start it.
Basically, I couldn't start Flash Builder at all, I would see the "Loading Workspace" splash screen and then the application would close (without any errors).
 Running FlashBuilderC.exe in Administrator Mode didn't help either, the CMD shell would show the following screen for a few seconds before crashing:
So basically, I had no way to open Flash Builder using the current workspace, the only solution I found was to go to the workspace folder
(e.g. C:\Users\[USERNAME]\Adobe Flash Builder 4.7) and delete the .metadata folder.
This, of course, will reset the workspace and you'll have to import all your projects and restore your previous settings manually but at least this will allow you to run Flash Builder again.
 Today was the 4th time this happens in the last 2 weeks.
Any of you encountered this issue as well?
  [UPDATE]: It seems that deleting only the folder: C:\Users\[USERNAME]\Adobe Flash Builder 4.7\\.metadata\\.plugins\org.eclipse.ui.workbench fixes the problem as well, without deleting your workspace and workspace settings completely (you only lose your custom window layouts)
0 notes
Text
MemAudio: My new Android game
MemAudio is a game I created for the One Game A Month challenge, it was created using Adobe AIR.
The goal of the game is simple:Â The device will play a series of tones and light up the colored buttons (only one to begin with). You must then repeat that sequence. The game progresses by adding a new tone to the sequence in every turn. The game ends when you miss a sound while repeating the sequence.
 Do you think you can reach the top spot?
Prove it!
0 notes
Video
Check out Zero Armada's video review of my game Square Madness HTML5
0 notes
Text
Weird Flash Builder 4.7 Release Export bug
I've been experiencing lately a weird bug in Flash Builder 4.7.
I have a project in which every time I export a release build, I get an error message:
I've tried everything from re-importing the project to creating a new workspace to reinstalling Flash Builder 4.7 altogether!
The project worked perfectly in Flash Builder 4.6, no changes have been made to the code apart from importing it to Flash Builder 4.7.
After wasting an entire day on trying to figure out how to solve this issue, I've tried the following:
1. I've deleted all the code in the main MXML file
2. I've tried exporting it again and I didn't get any error message.
3. I clicked CTRL+Z to bring back the code I deleted
4. Tried exporting again and it finally exported it properly with all the code intact.
You can view all the steps (+ showing that trying to Clean the project didn't help either) here:
I don't have this problem with any other projects or with new projects I create.
After closing and opening Flash Builder 4.7 the problem returns and I have to redo the steps above.
I hope this provides a quick solution to developers who experience this problem, but I hope that Adobe provides us with a more permanent solution to this problem soon.
0 notes