facebook twitter hatena line email

「Cocos2dx/プロジェクト実行ios」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(Thread 1: EXC_BAD_ACCESS (code=1, address=0x508))
 
(同じ利用者による、間の22版が非表示)
行1: 行1:
 
==プロジェクト実行(ios)==
 
==プロジェクト実行(ios)==
 +
$ cocos run -p ios
 +
Build succeed.
 +
問題なければsimulaterが立ち上がりアプリが起動する
 +
 +
==='/Library/Developer/CommandLineTools' is a command line tools instanceエラー===
 +
xcodeが入ってないときに起こる?
 +
 +
xcodeが入ってるのを確認して、以下のように修正
 +
$ softwareupdate --list
 +
Command Line Tools (macOS High Sierra version 10.13) for Xcode-10.0
 +
$ xcode-select --install
 +
$ sudo xcode-select --switch /Applications/Xcode.app
 +
$ xcode-select --version
 +
xcode-select version 2349.
 +
 +
==linker command failed with exit code 1 (use -v to see invocation)エラー==
 +
xcodeプロジェクトの上記ログを副クリックしてReveal in logをクリックすると詳細が表示される
 +
 +
==Undefined symbols for architecture arm64エラー==
 +
BuildPhases/LinkBinaryWithLibrariesにライブラリが追加されているか確認。
 +
 +
参考:https://joyplot.com/documents/2016/09/18/xcode-link-error-framework/
 +
 +
==clang++: error: linker command failed with exit code 1 / duplicate symbol _OBJC_IVAR_$[ファイル名] inエラー==
 +
[ファイル名]がxcodeに入ってるものと重複しているので手動で導入した側の同名のライブラリを削除する
 +
 +
==clang:-1: linker command failed with exit code 1 (use -v to see invocation)エラーが出たら==
 +
 +
projectname.xcodeprojではなく
 +
 +
以下コマンドを実行して
 +
$ pod update
 +
 +
出来上がった以下プロジェクトを実行
 +
 +
projectname.xcworkspace
 +
 +
==Thread 1: EXC_BAD_ACCESS (code=1, address=0x508) ==
 +
Editboxなどで起こる場合
 +
Resourceがbundleされてない可能性があるので、BuildPhasesのCopyBundleResourcesからボタンなどのResourceを追加しておく。
 +
 +
==Update xcode pleaseエラーが出る場合==
 +
xcode10が入ってる環境で、iosをコマンドでbuildしようとした時、以下エラーが出る場合
 +
Building mode: debug
 +
Update xcode please.
 +
直接ios_projectをxcode開いてbuildすればよい。
 +
 +
==xcodeプロジェクトファイル起動==
 +
xcodeのProduct/Runを押す
 +
 +
===cocos2d.hがない(.cocos-project.json is not found. エラーが起こる)とき===
 +
 +
新規Helloworldプロジェクトを作って、そこに生成されるcocos2dのディレクトリをプロジェクトの同じ場所にコピーしてくる
 +
 
===Development cannot be enabled while your device is lockedエラーのとき===
 
===Development cannot be enabled while your device is lockedエラーのとき===
 
iPhoneの設定/一般/リセット/位置情報とプライバシーをリセットを設定して接続し直す
 
iPhoneの設定/一般/リセット/位置情報とプライバシーをリセットを設定して接続し直す
行9: 行63:
 
===Code signing is required for product type 'Application' in SDK 'iOS 10.2'エラーのとき===
 
===Code signing is required for product type 'Application' in SDK 'iOS 10.2'エラーのとき===
 
検証端末のiOSのバージョンを10.2へ上げる
 
検証端末のiOSのバージョンを10.2へ上げる
 +
 +
==cocoapodsを使用してxcodeプロジェクト起動==
 +
#pod initを実行しPodfileを作成する
 +
#Podfileに追加したいライブラリを追加してpod updateを実行
 +
#作成されたxcworkspaceでxcodeプロジェクト起動
 +
#library search pathsとheader search pathsに$(inherited)を追加
 +
#xcodeのProduct/runを実行
 +
 +
===ld: library not found for -lライブラリ名 clang: error: linker command failed with exit code 1 (use -v to see invocation) エラー===
 +
BuildSettingにlibrary search pathsとheader search pathsに$(inherited)が追加されているか確認
 +
 +
==error: expected unqualified-id @class NSString, Protocol;==
 +
どちらか実行
 +
#ファイル拡張子を「.mm」に変更するか
 +
#Typeを「Objective-C++ Source」に変更するか
 +
Objective-C++ Sourceの変更はHelloWorldScene.cppやAppDelegate.cppのタイプを変更する
 +
 +
参考:https://qiita.com/kaizen_nagoya/items/bccd7341a5ce58e94370
 +
参考2:https://qiita.com/kuuki_yomenaio/items/6edc7cb16a81d2bc9ef5

2019年6月10日 (月) 15:52時点における最新版

プロジェクト実行(ios)

$ cocos run -p ios
Build succeed.

問題なければsimulaterが立ち上がりアプリが起動する

'/Library/Developer/CommandLineTools' is a command line tools instanceエラー

xcodeが入ってないときに起こる?

xcodeが入ってるのを確認して、以下のように修正

$ softwareupdate --list
Command Line Tools (macOS High Sierra version 10.13) for Xcode-10.0
$ xcode-select --install
$ sudo xcode-select --switch /Applications/Xcode.app
$ xcode-select --version
xcode-select version 2349.

linker command failed with exit code 1 (use -v to see invocation)エラー

xcodeプロジェクトの上記ログを副クリックしてReveal in logをクリックすると詳細が表示される

Undefined symbols for architecture arm64エラー

BuildPhases/LinkBinaryWithLibrariesにライブラリが追加されているか確認。

参考:https://joyplot.com/documents/2016/09/18/xcode-link-error-framework/

clang++: error: linker command failed with exit code 1 / duplicate symbol _OBJC_IVAR_$[ファイル名] inエラー

[ファイル名]がxcodeに入ってるものと重複しているので手動で導入した側の同名のライブラリを削除する

clang:-1: linker command failed with exit code 1 (use -v to see invocation)エラーが出たら

projectname.xcodeprojではなく

以下コマンドを実行して

$ pod update

出来上がった以下プロジェクトを実行

projectname.xcworkspace

Thread 1: EXC_BAD_ACCESS (code=1, address=0x508)

Editboxなどで起こる場合 Resourceがbundleされてない可能性があるので、BuildPhasesのCopyBundleResourcesからボタンなどのResourceを追加しておく。

Update xcode pleaseエラーが出る場合

xcode10が入ってる環境で、iosをコマンドでbuildしようとした時、以下エラーが出る場合

Building mode: debug 
Update xcode please.

直接ios_projectをxcode開いてbuildすればよい。

xcodeプロジェクトファイル起動

xcodeのProduct/Runを押す

cocos2d.hがない(.cocos-project.json is not found. エラーが起こる)とき

新規Helloworldプロジェクトを作って、そこに生成されるcocos2dのディレクトリをプロジェクトの同じ場所にコピーしてくる

Development cannot be enabled while your device is lockedエラーのとき

iPhoneの設定/一般/リセット/位置情報とプライバシーをリセットを設定して接続し直す

A build only device cannot be used to run this targetエラーのとき

シミュレーターを再設定する http://trade-and-develop.hatenablog.com/entry/2015/12/06/183836

Code signing is required for product type 'Application' in SDK 'iOS 10.2'エラーのとき

検証端末のiOSのバージョンを10.2へ上げる

cocoapodsを使用してxcodeプロジェクト起動

  1. pod initを実行しPodfileを作成する
  2. Podfileに追加したいライブラリを追加してpod updateを実行
  3. 作成されたxcworkspaceでxcodeプロジェクト起動
  4. library search pathsとheader search pathsに$(inherited)を追加
  5. xcodeのProduct/runを実行

ld: library not found for -lライブラリ名 clang: error: linker command failed with exit code 1 (use -v to see invocation) エラー

BuildSettingにlibrary search pathsとheader search pathsに$(inherited)が追加されているか確認

error: expected unqualified-id @class NSString, Protocol;

どちらか実行

  1. ファイル拡張子を「.mm」に変更するか
  2. Typeを「Objective-C++ Source」に変更するか

Objective-C++ Sourceの変更はHelloWorldScene.cppやAppDelegate.cppのタイプを変更する

参考:https://qiita.com/kaizen_nagoya/items/bccd7341a5ce58e94370 参考2:https://qiita.com/kuuki_yomenaio/items/6edc7cb16a81d2bc9ef5