FAQ (Frequent AppBlade Questions)

Andrew Tremblay edited this page Jun 10, 2013 · 6 revisions

#iOS How do I make my own build of AppBlade from source?

Pull our master branch down from github. Open the framework project for iOS under iOS/Framework/AppBlade.xcodeproj (Please always try to have the most up-to-date Xcode possible. We used Xcode 4.5 for this release). Under Build Phases, Select Link Binary With Libraries and make sure you have the Security framework added. Finally, set your build scheme to AppBladeUniversal, hit Command+B and let our build script do the rest. In a few seconds a Finder window will open at the location of the new Binary and header file.

AppBlade's source doesn't show up in my project, even though I dragged it in and checked copy.

Drag the AppBlade project (open in Xcode) into your open Xcode project. Quit out of Xcode and then reopen your project so it sees that AppBlade has imported. You can then continue installation.

My AppBlade binary is not running on simulator but it's running on device.

You'll need to make sure you've set your build scheme to AppBladeUniversal. That's the only scheme that produces the universal binary. The AppBlade build scheme will just build one or the other, which you might also want to do.

The AppBlade binary is not running on device but it's running on simulator.

Same question as the one above, really. Make sure our scheme is set to AppBladeUniversal and that you're using the AppBladeUniversal.a binary that's produced from that.

I added your fine product to my local project and got 12 build errors (The "LINKER" kind).

You'll need to make sure you've got Security.framework added to your build phases. That's necessary for AppBlade to securely check for permissions.

The AppBladeUniversal.a file in my products folder is red

Don't worry, that's normal. That's actually pointing to an intermediary lib location when we build the universal binary. The real AppBladeUniversal.a will automatically open in a finder window on a successful build.

I built AppBladeUniversal and the folder opened but AppBladeUniversal.a wasn't in there.

That's likely due to a build error in the script if you've been making changes to AppBlade or the basic AppBlade build scheme. Open the build log in navigator (Command + 7 in Xcode) and open the latest build log (the one at the top) and check for any warnings or errors. Something most likely happened (i.e. failed) in one of the intermediary builds which prevented a lib from being built. Open the build script output for our custom build script (the line "Run custom shell script 'Run Script' ") by pressing the '≡' button on the far left. See if you find any "BUILD FAILED" messages. resolve them in the basic non-universal AppBlade scheme.

Is there any way I can prevent AppBlade from opening the folder on a successful build?

Yes, navigate to the Build Phases in the AppBladeUniversal target. In the Run Script step, add a # to the beginning of the open command near the bottom of the script.
open "${CREATING_UNIVERSAL_DIR}" becomes #open "${CREATING_UNIVERSAL_DIR}"

The AppBlade universal binary is 3MB, I want to reduce the size as much as possible before app submission.

You can knock the library down a Meg to 2MB by using the intermediary binary for devices only. Build the libAppBlade.a file under the regular AppBlade scheme for iOS Device (Not AppBladeUniversal) and simply replace your existing AppBlade binary with that one. All features will still be available. (Note: doing this will no longer allow the binary to run on the simulator, so don't do this if you need that.)


Android

I can't seem to install my app onto my phone from the AppBlade site.

A lot of things can be going wrong here. Go into logcat and see if you can find any of these error messages. (substitute com.appblade.example with your own package name where necessary.)

  • Package [com.appblade.example] has no certificates at entry [resource location]; ignoring!

It's likely you uploaded a build that was improperly signed, or not signed at all. If a user has a build of the app and is trying to install the apk off the AppBlade site then both the existing version on their phone and the apk on AppBlade must have the same certificate. This includes development builds, which are signed uniquely by a debug certificate.

I added your SDK but whenever I try to use a feature my App crashes.

Well, what's your error in Logcat?

Was it...

java.lang.RuntimeException: An error occured while executing doInBackground()

Followed at some point by the specifier:

Caused by: java.lang.NoClassDefFoundError:org.apache.http.entity.mime.MultipartEntity

If so, you probably didn't add the SDK dependency properly.

The AppBlade Android SDK requires one dependency, HttpMime, for its api calls. We include httpmime-4.1.2,jar for your convenience, but you can download your own from
[http://hc.apache.org/httpcomponents-client-ga/httpmime/](the Apache site) or [https://code.google.com/p/httpclientandroidlib/](Google Code)

To add a library to your android project, follow the google developer instructions online at http://tools.android.com/recent/dealingwithdependenciesinandroidprojects .

Note: If your Android app is targets API level 17 and higher, you will have to create a lib folder in your project and place the httpmime-4.1.2.jar there in order for it to be bundled properly.


Have a question that wasn't answered here? Email us at support@appblade.com or check out our support center

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.