Jump to content
The ORIGINAL FileMaker Community - Forum - Online Business Apps & Software Forum
  • 0
Sign in to follow this  
kirkrr

How to Submit an FM runtime to Apple App Store - Installing Certificate?

Question

kirkrr

The Apple App Store submission process requires digital certificates to be installed, and the process is all in XCode.

 

How does one go about signing an FM runtime application?

Can this be done with an FM Runtime?

Share this post


Link to post
Share on other sites

21 answers to this question

Recommended Posts

  • 0
kirkrr

OK, learned the first couple pieces that are probably invaluable, even if NOT submitting to the App Store .... the first couple steps of converting an FM runtime into a single executable file and creating an installer on OS X! :cool:

 

David Burton of Camp Software, published this web site with a video explanation of getting from a runtime, into a single OS X executable.

http://campsoftware.com/2010/11/filemaker-runtime-packages-and-installer/

 

The video also goes through creating the installer package. The following is the link to that free software.

 

Is the installer packaging tool - free

http://s.sudre.free.fr/Software/Packages/about.html

 

Now I just need to figure out how to incorporate the security certificates into the resultant product, and we should be good to go (and I say this as it should be an easy thing - the reality is not so simplistic, methinks :P

Share this post


Link to post
Share on other sites
  • 0
kirkrr

Ross,

 

Although this is really a neat product, I can't figure out how to Titanium this in conjunction with a Filemaker runtime. Of the 3 options (HTML, CSS and JavaScript) which one would a Filemaker runtime be classified?

 

If you built FM stuff in PHP Assistant (which I know nothing about), would that work in conjunction with Titanium?

 

The Titanium Desktop SDK provides a runtime environment for creating native desktop applications in HTML, CSS, and JavaScript. Titanium Desktop packages up your application source code (HTML/CSS/JavaScript) with a heavily augmented build of the popular Webkit open source web browser engine. Your Titanium Desktop application is basically a web page (or pages) and a web browser packaged into a single executable program. But your desktop app is more than just a local web page - Titanium Desktop apps have access to enhanced native functionality, like file system access, media, the ability to run external processes, native UI chrome, and more. You can also package Ruby, Python, or PHP code with your application, further extending the capabilities of your always-on desktop application.

Share this post


Link to post
Share on other sites
  • 0
kirkrr

Packages will not build - it has a build error early in the process. I've tried every option I can think of. There are no log details to go with.

 

Iceberg - another packaging program from the same guy that wrote Packages - completes the build, but the resultant install seems to do nothing at all.

 

Packagemaker (part of OS X XCode development environment) seems to complete the build without errors, but in the install, at the very end, it has an install error. There are no log details to go with.

 

From another post on this forum that was never answered....

 

The Application is created but fails at the end of install process. It only happens since upgrading to 11. On a post I found on the subject, it was mentioned that it was a permissions issue and that..

 

"Performing "SetFile -a l" on each of the files in the runtime app bundle solved the problem."

 

Has anybody got an further info on solving the problem or could you help me to run setfile over the files??

Share this post


Link to post
Share on other sites
  • 0
Ross MacLane

Kirk,

 

This may help you... click here . If not, I am going to setup an FMT ftp address for you to upload and see if I can guide you through. It will not be until the next couple of days though. In the meantime maybe this will shed some light.

 

I also suggest you step back and take a break for the night... the tree, the forest, where are they... you know the saying.

 

Ross

Share this post


Link to post
Share on other sites
  • 0
kirkrr

Ah - this helps a bit - Thanks Ross!!

Just need to adapt it to an OS X app and not iPhone/iPad

 

The target is the newly release MAC App Store (2 weeks ago), not the IOS App Store. The effort is attempting to create a single .app file (which is complete and working), a mpkg file for the OS X installation, and, at some point along the way, get the required signed security certificates incorporated into the program, so that Apple will allow it up on the Mac OS X App Store.

 

Still looking at alternatives to get a native iPhone / iPad app. At this point, FM Touch looks like the best alternative for low cost stuff, and FMGo for other things.

 

But no even close to being able to deal with that - just trying to get a working OS X package out there in distribution on the new App Store.

Share this post


Link to post
Share on other sites
  • 0
kirkrr

OK, a few things learned - and an order they must be done in .... and a few questions left.

 

1) you need to create the POSIX compliant .app file, and put the FM Runtime into the PACKAGE CONTENTS > RESOURCES folder

2) Edit the info.plist file - the one that is in the RESOURCES folder, not the top level one.

3) You need to change permissions on the file. I have run the suggested command line option, but PackageMaker identifies a number of other permissions issues to resolve, which, once done, allows packagemaker to build a pkg file that works fine - except to the App Store. :(

4) You need to codesign your Apple developer issued, security certificate

5) you need to build and archive the applications into a .pkg file.

 

This last step is tripping me up. Apparently the Apple Packagemaker application does the packaging, but NOT the archive step required for the APP store - at least as far as I can find.

 

SO, the suggested path (if this is not an XCode project, which FM cannot be) is the command line tool productbuild

 

the manpage description..... the middle one is the correct option for this purpose.

 

Usage: productbuild [options] --distribution [--package-path ]

Build product with a distribution and the packages it references

 

Usage: productbuild [--product ] {--component }

Build product with specific bundles, synthesizing a distribution

 

Usage: productbuild --synthesize [--product ] {--package }

Synthesize and write a distribution from component packages

 

And my error situation that I am struggling to resolve.

 

sudo productbuild --component /Users/kirkr/Desktop/First_Tasks_First.app /Applications --sign "3rd Party Mac Developer Application: Kirk lastnamehere" FirstTasksFirst.pkg

Password:

productbuild: Adding component at /Users/kirkr/Desktop/First_Tasks_First.app

productbuild: error: Can't write temporary package to "/var/folders/zz/zzzivhrRnAmviuee+++++++++++/-Tmp-/productbuild.3W3AQ5/First_Tasks_First.app.pkg" (Path "/Users/kirkr/Desktop/First_Tasks_First.app" is not a valid bundle component (using destination path "/Users/kirkr/Desktop")).

 

The "not a valid bundle component" issue is perplexing me. Once I get this working, I will post an exhaustive guide.

 

Suggestions??

Share this post


Link to post
Share on other sites
  • 0
kirkrr

OK, ran into what may be an insurmountable object. Apple does not support the editing or modification of the application itself, and FM, I suspect, because of the code/data co-mingling, may violate that rule.

 

From the Apple developer site .....

 

File-System Usage Requirements for the App Store

 

To promote a more consistent user experience, applications submitted to the App Store must follow certain rules about where they write files. Users can be confused when applications cause unexpected side effects on the file system (for example, storing databases in the user’s Documents folder, storing files in the user’s Library folder that are not recognizably associated with your application, storing user data in the user’s Library folder, and so on).

 

Your application must conform to the following rules:

 

Except as noted below, unless a user explicitly chooses to save data in an alternate location (using a Save As file dialog), your application should write only to the following locations:

~/Library/Application Support/

~/Library/

~/Library/Caches/

where can be your application's bundle identifier, its name, or your company’s name. These strings must match what you provided through iTunes Connect for this application.

You should always use Apple programming interfaces to locate these paths (NSSearchPathForDirectoriesInDomains, for example). For more information, see “Creating Paths and Locating Directories” in Low-Level File Management Programming Topics.

 

If your application manages libraries of photos, music, or movies, the application may also write to the following directories:

~/Pictures/

~/Music/

~/Movies/

Your application may write to temporary paths that you acquire through calls to Apple-provided API functions.

You may also use Apple frameworks such as User Defaults, Calendar Store, and Address Book that implicitly write or modify files outside of these permitted locations.

 

Also, I suspect that once the application has been run, and data added/modified, the security certificate may prove invalid. Not sure that this is problematic, as once the user has installed the software, the security certificate function has been performed.

 

This is turning out to be an extremely complex endeavor :confused:

Share this post


Link to post
Share on other sites
  • 0
kirkrr
  • 0
kirkrr

FWIIW, Apple has not gotten back to me on submission to the Mac App Store. I have been getting an error in uploading the file - the Application Loader does not see a valid application for uploading. Will post back when I hear from Apple Support.......

Share this post


Link to post
Share on other sites
  • 0
kirkrr

I now have 2 support requests in, and it has been 3 weeks since the first. This is getting frustrating. I'd like to know, one way or the other, as to whether this resultant file can indeed be uploaded and sold on the App Store..... :(

Share this post


Link to post
Share on other sites
  • 0
craigh

Surely Filemaker are missing a huge trick here ? How about an upgrade that allows you to create a runtime App that is perfect for the AppStore :confused:

Share this post


Link to post
Share on other sites
  • 0
kirkrr

THAT would take away their market for FMgo, at least as a single user application environment. FMGo IS their iPad/iPhone solution.

 

I wanna sell a $5 app - hard to do when the user needs a $40 FMGo iPad program on top of that.

 

Still hopeful that Apple will get back to me and identify what the problem is.

Share this post


Link to post
Share on other sites
  • 0
kirkrr

FmLie contacted me today - he had his first app accepted by the Apple Mac Store for resale, using the process that I put together and documented in the blog section.

 

Me, I have not gotten that far. I finally got an email back from Apple to work with me on why my App was not recognized by the Application Loader (I was never able to actually get into the submission process at all). Reason - TBD. Only took 10 weeks for Apple to respond :(

Share this post


Link to post
Share on other sites
  • 0
OldMike

 

I was reading through this thread and I was interested in reading your two posts, but it seems as though the links are broken when I try to access them. I've been trying to search for other information about submitting runtime solutions to the Mac App Store. Is there a complete how to posted somewhere? I can't seem to find it...

 

Thanks for any help...

Share this post


Link to post
Share on other sites
  • 0
Josh Ormond

There have been some changes/updates to the site recently. While stuff is being worked on, I'll see if I can track down the contents of those 2 blogs.

Share this post


Link to post
Share on other sites
  • 0
OldMike
http://filemakertoday.com/com/entry.php/68-Submitting-an-FM-Runtime-to-the-Apple-Mac-App-Store

 

I got tripped up on the PPC code - you need to strip that from the runtime in order to be compliant with the App Store rules. That is not in the blog entry.

 

Thank you so much for the link. Did you ever get through the process? The last mention showed that Apple gave you another 90 days in August, I believe.

 

Also did you do anything on the Filemaker side in order to handle Mac App Store updates of your application? Just wondering if there was anything specific that needed to be done in regards to handling the updates per Apple.

 

Thanks again for all of your efforts and time spent on trying to get this done. I truly don't think I would know where to start without reading all of the information you had presented for everyone.

Share this post


Link to post
Share on other sites
  • 0
kirkrr

By the time that Apple had gotten back to me, I was off on other projects and have just not had the bandwidth to work on this.

 

Maybe after the first of the year. :moody:

 

I did hear from another person that has successfully used this instructions, and gotten 2 applications up on the AppStore using FM Runtimes.

Share this post


Link to post
Share on other sites
  • 0
Mighty Mac
OK, a few things learned - and an order they must be done in .... and a few questions left.

 

And my error situation that I am struggling to resolve.

 

sudo productbuild --component /Users/kirkr/Desktop/First_Tasks_First.app /Applications --sign "3rd Party Mac Developer Application: Kirk lastnamehere" FirstTasksFirst.pkg

Password:

productbuild: Adding component at /Users/kirkr/Desktop/First_Tasks_First.app

productbuild: error: Can't write temporary package to "/var/folders/zz/zzzivhrRnAmviuee+++++++++++/-Tmp-/productbuild.3W3AQ5/First_Tasks_First.app.pkg" (Path "/Users/kirkr/Desktop/First_Tasks_First.app" is not a valid bundle component (using destination path "/Users/kirkr/Desktop")).

 

The "not a valid bundle component" issue is perplexing me. Once I get this working, I will post an exhaustive guide.

 

Suggestions??

 

Hi! Did you ever resolve this error? I am getting a similar error...

 

productbuild: error: Can't write temporary package to "/private/var/folders/LV/LVBc6A7WE5G6TP9PqRjNrk+++TI/-Tmp-/TemporaryItems/(A Document Being Saved By productbuild)/com.nspm.LittleLandlord.pkg" (No package identifier specified and not exactly one component to derive it from.)

 

Any idea on how to resolve this?

Share this post


Link to post
Share on other sites
This thread is quite old. Please start a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



×
×
  • Create New...

Important Information

Terms of Use