問題タブ [app-bundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
213 参照

java - Mac の Java Swing アプリが起動しない

netbeans でアプリを作成し、プロジェクトをビルドして jar ファイルを作成しました。jar ファイルをダブルクリックすると、問題なくアプリが起動します。appbundlerを使用してアプリをパッケージ化し ました。ここからのすべての指示に従います。

コマンドを発行するant bundle-filemanagerと、ディレクトリに FileManager.app が表示されdistます。ここにbuild.xmlがあります

FileManager.app をダブルクリックしても起動しません。ドックにアイコンを表示するだけで、ドックから消えます。

ソースコードはこちらからもご覧いただけます

0 投票する
0 に答える
320 参照

java - Apple の新しい Java 6 for Mavericks などに jar をバンドルする方法は?

Mac OS X 上の Java は、大きな頭痛の種でした。

Apple はまず、Java リリースを Oracle に引き継ぐことを明らかにしました。Oracle は、Java 7 と、jar (およびネイティブ) をパッケージ化するためのAppBundler Ant タスクのみを提供しました。

ああ、そして Apple は、App Store への提出物は JRE 全体 (60MB 以上) をコピーする AppBundler 機能を使用するよう主張し始めました。うわぁ!歯を磨いて、ブロートウェアの時流に参加する以外に何もすることはありません...

魔法のように、今では Mavericks 用の JRE 6 があります (2013 年 10 月に公開されましたが、Apple が Java サポートが終了したと言っていたので注意を払っていませんでした)。JRE 6 のパッケージ化ツールは古いJarBundler Ant Task であり、JRE のバンドルへのコピーをサポートしていません。

ここで質問があります。JRE 6 互換のバンドル ツールではできない場合に、JRE をアプリにパッケージ化するという新しい App Store の標準を満たすにはどうすればよいでしょうか。

注意: JarBundler は、Appleバイナリを使用JavaApplicationStubして JVM を呼び出します。アプリ バンドル内の JVM をスタブで検索することは不可能でしょうか? これに関するドキュメントが見つかりません。

FWIW、JRE 6 が必要なのは、フットプリントが小さい (約半分のサイズ) だけでなく、JOGL (OpenGL Java バインディング) が 6 未満ではうまく機能し、7 未満では使用できないためです。ちなみに、誰が素晴らしいですか) まだ (1 年以上経っても) 完全に解決していません。

0 投票する
3 に答える
1633 参照

xcode - OSX App Bundle が起動しない

Mac OSX アプリ バンドルに問題があります。アプリバンドルを実行したい場合、何も起こりません (ダブルクリックmyApp.app)。

./myApp.app/Contents/MacOS/myApp実行することで問題なくアプリを実行できます。

ディレクトリ構造:

私のInfo.plist

編集:

Console.app の結果:

0 投票する
1 に答える
1338 参照

macos - C バイナリを Mac OS X アプリケーション バンドルにパッケージ化する

最小限のアプリ バンドルにバイナリをパッケージ化しようとしています。しかし、結果に奇妙な動作が見られます。

私のバンドルには、次の最小限の構造があります。

helloworld は、以下からコンパイルされた C バイナリです。

Info.plist には以下が含まれます。

次に、奇妙な動作について説明します。私が走るとき

コマンドは約 30 秒間ハングします。その後、helloworld バイナリが実行されていることを確認できます。ただし、その標準出力は Console.app に表示されません。このバンドルをプログラムで起動すると (NSWorkspace sharedWorkspace] launchApplicationAtURL...)、呼び出しは成功しますが、バイナリはすぐに終了します (コンソールで、エラー コード 2 で終了したことを確認できます)。

これは OS X 10.9.2 上にあります。

私は何を間違っていますか?

0 投票する
2 に答える
752 参照

objective-c - アプリ バンドルにパッケージ化されたシェル スクリプトをどのように参照しますか?

与えられた 2 つのスクリプト

foo.sh
bar.sh

.app バンドルの/Contents/Resourcesの下にコピーされます。ここで、 foo.sh

#!/bin/bash
. ./bar.sh
エコー $1

のエラーが発生します

そのようなファイル、又はディレクトリはありません

スクリプトがbar.shのソースを取得しようとする行

bar.shを相対的に参照する方法はありますか?

一連の bash スクリプトを .app にバンドルする別の方法はありますか?

0 投票する
1 に答える
735 参照

java - Ant Mac OS X Appbundler の現在のディレクトリ パスの問題

Java アプリケーションを Mac OS X アプリ バンドルにコンパイルしようとしています。次の設定を追加して、現在の作業ディレクトリを設定します。

Contents/Resources/ に config ディレクトリがあります。

それを実行すると、次の奇妙な動作が発生します。

new File("config/").exists()false を返します

new File("config/").getAbsolutePath()/path/to/bundled/app/MyApp.app/Contents/Resources/config を返します

new File("config/").getAbsoluteFile().exists()true を返します

なぜこれが起こるのかわかりません。コードのどこにでも getAbsoluteFile() を追加したくないのです。

これについて何か考えはありますか?

(注: Oracle JDK 8 を使用しています)

0 投票する
0 に答える
350 参照

ios - 独自のサーバーから iOS アプリの追加コンテンツを保存してアクセスする場所

自分のサーバーから iOS アプリにダウンロードされた追加コンテンツのストレージとアクセスについて、よくわからないことを理解しようとしています。明らかにこれは可能です。自分のサーバーからのコンテンツのダウンロードというセクションを参照してください。領収書の処理方法とサーバーへの呼び出し方法を理解しています。理解されていないのは次のとおりです。

  • サーバーからダウンロードを開始するとき、ダウンロードに必要なファイルの種類は何ですか? それは私が望むものでありえますか?
  • アプリバンドルの更新が許可されていないことを考慮して、デバイスのどこに保存する必要がありますか?
  • アプリはどのようにデータにアクセスしますか?

最も単純なケースでは、xml または json ファイルを配信しているとします。上記のほとんどは次のように機能すると思います。ファイルをドキュメント ディレクトリに保存し、アプリでファイルパスを使用してデータにアクセスして読み込みます。

しかし、アプリ バンドル内の他のリソースにアクセスできるのと同じように、アクセスできる必要がある画像やその他のデータを含む、より複雑なものである場合はどうなるでしょうか?

私にとって明確でないことの核心は、どのタイプのデータを配信できるか、それが私が望むものである場合 (そうであると推測します)、データタイプを完全に制御できるかどうか、このデータコンテンツをどこにどのように保存するかです。アプリがこのデータに可能な限りシームレスにアクセスできるようにすることはできますか? 具体的な例として、私がゲームを作成しているとします。最初のレベルはアプリ バンドルに含まれており、自分のサーバーを介して 2 番目のレベルを配信しています。アプリ バンドルのレベルと同じ方法でそのレベルをロードできますか?

私が指摘できるリンクやドキュメントがあれば参考になりますが、まだ何も見つけていません。通常のプログラムでは好きなことを何でもできるので、おそらく最も混乱しているのはアプリバンドルの概念です。はそれほど明確ではありません。

0 投票する
1 に答える
2863 参照

java - OS X Gatekeeper 用のコード署名 Java アプリ

Java アプリケーションを OS X ユーザーに配布しようとしています。私は Mac ストアを使用していません。自分の Web サイトから配布する予定です。何を試しても、OS X の Gatekeeper はアプリを拒否します。

これが私の方法です:

(1) 通常どおりアプリをビルドし、JAR ファイルを取得します

(2) https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.htmlappbundlerの説明に従って使用します。これにより、JAR の周りに .app が作成され、うまく動作し、ディレクトリに JVM が含まれます。MyApp.app/Contents/PlugIns

(3) 開発者証明書でアプリに署名します。

codesign -s 'Developer ID Application: MyCompany Ltd' --deep MyApp.app

...プロセスは正常に完了しました

(4) .app が Gatekeeper の鉄則に準拠していることを確認します。

spctl --assess --verbose=4 --type execute MyApp.app

...そして、返される結果は次のとおりです。

私にはあまり冗長に見えません!私は何が間違っているのでしょうか?または、どうすればより多くの情報を入手できますか?

「封印されたリソース...」に関するSO / Google検索は、署名フレームワーク(私が持っていない)を参照するか、--forceオプションを使用して署名することを提案します(試しましたが機能しません)。