質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

207閲覧

ソースコード非公開のSwift frameworkを作りたい

tunaingot

総合スコア18

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2024/10/18 08:24

編集2024/10/18 08:31

実現したいこと

データ配列からデータの特徴を抽出するSwiftクラスを作りました。
これをframeworkとして外部に提供したいです。
ただし、ソースコードは公開したくありません。

発生している問題・分からないこと

Xcodeでframeworkのプロジェクトを作り、コンパイルもでき、frameworkも生成されました。
試しにこのframeworkをテスト用のアプリのプロジェクトに取り込み、使いたいところでimportし、動作することは確認できました。

しかし、frameworkのメソッドにデバッガでステップインすると、frameworkのソースコードが表示され、ステップ実行などもできてしまいます。
ソースコードが見えないようにしたいです。

このようなことは可能でしょうか?

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

どのような検索ワードで調べていいかが思いつかず、こちらに質問しました。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakaiY

2024/10/18 09:57

Xcode使ったことありませんが、 一般的な用語としては、リリースビルド・デバッグビルドなどで調べると情報が得られると思います。デバッグ情報を含めないなど。
tunaingot

2024/10/19 06:49

TakaiYさん、ありがとうございます。 おっしゃる通りリリースでビルドすればいいはず...と思ってたのですが、それがうまくいかずにここに質問した次第です... 結果として、おっしゃる通りリリースビルドで解決しました。 生成したframeworkの検証を同一のMac、同一アカウント内で行なっていたことが原因とわかりました。 frameworkをビルドした時の中間オブジェクトが残っており、それを参照してソースコードが見えてしまうということのようです。 同一のMacに別のログインアカウントを作り、そこで動作させたらソースコードは見えませんでした。 コメントありがとうございました。
TakaiY

2024/10/19 13:07

解決してよかったです。 >おっしゃる通りリリースでビルドすればいいはず...と思ってたのですが、それがうまくいかずにここに質問した次第です... ということであれば、そのことや、どのように検証したのかについての情報を質問に含めていれば、よりよい回答が得られたように思います。 後の参考まで。
guest

回答1

0

自己解決

下記、二つの条件を満たしていなくてはいけませんでした。

(1)frameworkをReleaseでビルドする
(2)別のMac、あるいは別のログインアカウント上で動作させる

私の場合は(2)ができていませんでした。
Macに別のログインアカウントを作り、そこで動作させたらソースコードは見えませんでした。
外部への配布はこれで問題なくできそうです。

解決のためのコメントもいただきました。

投稿2024/10/19 06:51

tunaingot

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問