これはビルド時に同一プロジェクト内に同じ名前のシグネチャの関数やクラスが存在するためリンクができなくて失敗しているというエラーです。特に以下のようなケースでよく発生します。自分が作ったクラスや関数の名前と、外部から持ってきたライブラリが使っているクラスや関数の名前が衝突している 外部から持ってきたライブラリ同士でクラスや関数の名前が衝突している 外部ライブラリをインストールする際に、-all_loadしたり-ObjCしたりている そういうわけで、外部からライブラリをたくさん導入すると、base64やMD5など、プログラム上でよく使われるのに標準で用意されていないライブラリがよく衝突してしまうわけです。大抵の場合はぶつかっているシグネチャの名前をソースコード上でちょっと書き換えて再度ビルドすることで回避ができるのですが、極稀にソースコードを書き換えることができないケースが存在します。以下にそ
Xcode 9の新機能をご紹介 ついにXcode 9がリリースされました!この記事ではXcode 9で何ができるようになったのか、何が変わったのか個人的に気になった部分をメインにご紹介します。 ※記事中のスライド画像についてはWWDCのものを引用しています。 目次 全体的なパフォーマンス向上 Source Editor リファクタリングがSwiftに対応 & 機能強化 Rename Extract Method Extract Variable issueをワンクリックでFixできるようになった フォントサイズの増減がより簡単になった コードの折りたたみ & 展開 が 良くなった Markdownをサポート 新しいビルドシステム 新しいビルドシステムを使う方法 Group作成時にフォルダを作成 GitHub連携が強化された リポジトリをクローンしてみた Xcode上でブランチを作成し、プッ
今まで色々なプロジェクトに携わってきましたが、 Targetsによる管理が適切でないケースでTargetsを追加されると、保守が辛いなーと思ったのでシェア。 Targetsを増やすべきケース そもそも、どういったケースでTargetsを増やすべきなのでしょうか。 Xcode Conceptsには、A target defines a single productとの記載があります。 つまり、以下のようなケースではTargetsによる管理が適切と考えられます。 同じアプリの有料版と無料版を管理する場合 基本的なロジックは同じだが、画像などの素材だけ差し替えて別アプリとしてリリースする場合 Targetsを増やすべきでないケース では、逆にTargetsを増やすべきでないケースはどのようなものでしょうか。 開発版・ステージング版・リリース版をTargetsで管理しているケースをよく見ますが、こ
エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに 以前、XcodeAPIを使って諸々の設定をするXcodeProjectUpdaterというものを作ったのですが、 文量が多くなってしまったため、XcodeAPIを実際にどう使っているかという説明を省きました。 なので今回は、そのXcodeAPIの説明となります。 説明には上記XcodeProjectUpdaterのコードを使いますので、 そちらを参照しながら読むと分かり易いと思います。 OnPostprocessBuild XcodeAPIはXcodeプロジェクトを作成した後、そのプロジェクトに対して使います。 Xcodeプロジェクトを作成した後、 つまりビルドが終わった後に処理されるのがOnPostprocessBuildというメソッドです。 (と言うよりPostProcessBuildを上
Unityで開発しているiOS/Android向けアプリにWebViewを実装しようと greeさん公開のプラグインを使用しました。 いちばんハマった所は UnityからのBuildおよびXcodeのArchiveまでは正しく動作するのに AdHoc書き出しを試みると“Codesign Failed”が出て失敗すること です。 まず「Codesign Failed」と言う事で証明書関連のエラーだと思い込み キーチェーンアクセスやApple Member Center、Xcodeの設定ばかり見ていました。 しかし、OSXやXcodeを最新にアップデートしても一向に解決せず 試しに以前ArchiveしたものをAdHoc書き出しすると無事成功するという結果に。 この時点で、証明書そのものが直接の原因ではなく Unity側かXcode側に実装・設定した項目を疑うことにしました。 ここで見つけた記事
Mac にケーブルで iOS デバイスをつないでアプリのデバッグをしている時、iOS 7 からサンドボックスの関係で Mac 上の Console.app にデバイスのシステムログが出なくなった(要出典)。 Xcode でアプリをランしている状態なら Xcode のコンソールを見ればよいが、ランしていない状態のデバッグ(例えば他アプリから呼ばれて起動する時の処理など)を見たい場合に困る。 ランしていない状態のシステムログを見るには、Mac と iOS デバイスをケーブルでつないで Xcode(6.x)を起動し、メニューの Window -> Devices を選ぶ。左のソースリストで iOS デバイスを選択し、下の方にある小さな三角を押す。 するとコンソールペインが開くので、そこでリアルタイムにデバイスのログを見ることができる。 ただしフィルタリングができないので見にくい。 参考 http
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
Xcodeではプラグインを用いて様々な機能を追加する事ができます。 XcodeBoost なんかは結構使っている人も多いと思います。私もずっと使っていたのですが、マシンが非力なせいか微妙にアクションにラグを感じます。よく使うのは'Copy Line'や'Paste Line'等だけなのでIDETextKeyBindingSet.plistを編集して自分で作ることにしました。 結果は一目瞭然で、私の非力なMBP 13" 2011でも爆速です。 まずは/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resourcesを開きます。その中にあるIDETextKeyBindingSet.plistのバックアップをとっておき、編集しましょう。 Writing Directionキーの下に <key>My B
こんにちは、@yoheiMuneです。 本日はかなりマイナーネタですが、UIImageを結合する実装方法をブログに書きたいと思います。 UIImageを結合する処理とは 複数のUIImageを結合する処理とは、複数のUIImageを結合して1枚のUIImageにしたいというお話です(そのままですね。。)。 この処理が必要になった場面としては、Objective-Cでスクリーンショットを取得する方法のブログで言及した内容で、「スクリーンショットを取得した際に、ステータスバー部分の画像が取得できない。なので、ステータスバー部分は別画像として用意しておいて、スクリーンショット画像と合成する」というお話でした。 今回の実装では、以下のスクリーンショット画像と、ステータスバー画像を合成します。 (スクリーンショット画像) (ステータスバー画像) 合成する処理 合成する処理は簡単で、以下のように合成し
こんにちは、@yoheiMuneです。 「ロックボタン + ホームボタン」の同時押しで取得できるスクリーンショット。 それをObjective-Cのプログラムから取得する方法をブログに書きたいと思います。 画面全体のスクリーンショットを撮る 取得可能なスクリーンショットは大きく2種類で、まずは1つ目を紹介します。 1つ目は、「ロックボタン + ホームボタン」の同時押しで取得できるスクリーンショットとほぼ同じ物を取得できる実装方法です。 以下のように実装します。 // 必要なライブラリを読み込みます #import <CoreGraphics/CoreGraphics.h> #import <QuartzCore/QuartzCore.h> 〜〜 省略 〜〜 // キャプチャ対象をWindowにします。 UIWindow *window = [[UIApplication sharedApp
ツールバー内にある「Scheme」の設定をします。 クリックすると「Pods」を選択できます。続けて「iOS Device」も選択します。 メニューバーの「Product」から「Build」を選択します。するとPodsプロジェクトがビルドされます。 ビルドが成功すると「Build Successed」と表示され「Frameworks」内に赤字で表示されていた「libPods.a」が黒字で表示されます。 これで静的ライブラリである「libPods.a」を使用することができるようになりました。 今回はここままでで、これで設定は終了です。 これをやっておくと全くいつもどおりにライブラリ、フレームワークを使用することができます。 前回からの続きです。 アプリの方のプロジェクトを開いていき「Frameworks」内に「libPods.a」という静的ライブラリが赤字で表示されています。 赤字にな
サンプルクラスの作成 プロジェクトを作成したら、コメントを試すためのクラスとしてNSObjectを継承したSampleObjectを作成しましょう。 コメントの書式 appledocでは、以下で紹介する特別な書式で書かれたコメントからドキュメントを抽出します。また、もともとHeaderDocやDoxygenの書式で書かれた書式にも対応しているため、簡単に移植できます。 複数行のコメント appledocでは「/** コメント */」のように/(スラッシュ)1つと*(アスタリスク)2つで始まり、*(アスタリスク)1つと/(スラッシュ)1つで終わるコメントを解析対象とします。 /** コメントをかくぜぇ */ 試しにSampleObject.hのクラス定義の上に以下のように書いてみましょう。 SampleObject.h #import <Foundation/Foundation.h> /*
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く