HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0219
デベロパxcode7で実機を対象にビルドするとエラーが出ます24解決


デベロパ

リンク

2016/2/19(Fri) 17:32:39|NO.74651

xcode7で実機を対象にビルドするとエラーが出てしまいます。

clang: error: linker command failed with exit code 1 (use -v to see invocation)

実機ではなくシュミレーターならビルドでエラーは出ません。
エラーの内容をコピーして検索かけてみたのですがイマイチ理解できず、はまってしまっています。
どなたかアドバイスいただけませんか?



この記事に返信する


デベロパ

リンク

2016/2/19(Fri) 18:43:50|NO.74653

追加で質問させてください。
admobをつかうときもおなじエラーが出てしまいます。
こちらは実機じゃなくシュミレーターでもエラーが出ます。

ld: warning: directory not found for option '-L../iHSP23/lib'
ld: library not found for -lhsp3lib
clang: error: linker command failed with exit code 1 (use -v to see invocation)

必要なフレームワークとAppDelegate.m内のimport部分のコードもiHSP23admobに修正し、プロジェクトとiHSP23admobを同じ階層にビルドしてみたのですがうまくいきません。



デベロパ

リンク

2016/2/19(Fri) 20:28:45|NO.74657

hspは35β3を使っています。
hspに入っているプロジェクトで実機を対象にビルドしてみたところ

No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier “onionsoftware.hsptv.hspproj” were found.

というエラーが出ました。



デベロパ

リンク

2016/2/20(Sat) 11:04:00|NO.74663

HSPがxcode7の実機テストに対応してないという事もあるんでしょうか?
通常のシュミレーターではビルドが成功して、実機だとエラーが出るという事はAppIDあたりの設定でエラーが出ていると思うんですが、Identifierあたりをいろいろいじってもエラーが出てしまいます。
どなたか何かアドバイスいただけませんでしょうか?
最悪xcodeを6にダウングレードしよう思うのですが、xcode6で実機テストを成功されてる方はいますか?



おにたま(管理人)

リンク

2016/2/21(Sun) 15:05:18|NO.74679

HSP3Dishのご利用ありがとうございます。
iOSの実機上で動作させるためには、AppIDで指定したIdentifierとプロジェクトのIdentifierを一致させる必要があります。
http://www.onionsoft.net/hsp/v35/doclib/hsp3dish_ios.htm#SIGNING

まずは、AppIDを自身で作成してProvisioning Profileを用意しているか確認してみてください。(AppIDはiOS開発者登録を行なった上でweb上で設定します)

admobプロジェクトでエラーが発生する問題はまた別なので、こちらでも確認してみたいと思います。



デベロパ

リンク

2016/2/22(Mon) 19:18:33|NO.74687

返信ありがとうございます!!

しかし中々エラーが解決しません。
Xcode7からはメンバーシップの登録がいらず、iPhoneとMACを繋いでビルド対象にiPhoneが追加されるのでそれを選択してビルドすれば実機ビルドができるという事なんですが、他に設定する箇所あるんでしょうか?
プログラミングガイドの方は確認していましたが、登録がいらなくなったという事は「iOS開発の登録を行なった際に、Provisioning Profileが必要になりますが」の部分が関係無くなったと思うのですがiOS開発の登録はHSPだと必要なのでしょうか?

iPhoneの方はしっかり接続されていまして、iPhone側の設定で接続されたMACを信頼するに設定しました。
Xcode ->Preferences -> Accounts -> を見るとApple ID が登録されていて、Provisioning Profilesを確認したところBundle Identifierが載っていました。(すいません。このへんをイマイチ理解していないため説明が下手くそです)
調べてみるとXcode7からCertificate(証明書)とProvisioning Profileの作成は(ほぼ?)全自動になっているというのも見ましたが、どうなんでしょう。

エラーの内容は変わらず
error: linker command failed with exit code 1 (use -v to see invocation)
です。

ビルド以外でエラーは出ていません。
またアドバイスをいただけませんでしょうか?



デベロパ

リンク

2016/2/24(Wed) 12:42:47|NO.74693

有料のメンバーシップに登録し、リリースビルドまで進んだのですが実機ビルドと同じようなエラーが出ました。

identityの項目の設定が間違っている時のエラーはビルドをした直後にエラーが出るのですが、このエラーはビルドの終わりかけでエラーが出ます。
なのでidentityなどのエラーというかはプロジェクト内のエラーのような気がします。
でも前の書き込みでも書いた通り、シュミレーターを対象にしたビルドではエラーが出ません。

xcode7での実機テスト(できればリリースビルドも)を検証していただけませんでしょうか?



デベロパ

リンク

2016/2/24(Wed) 13:11:32|NO.74694

すいません。解決しました!!
調べてみたところ同じようなエラーの方を見つけました。

http://qiita.com/kazuhiro1128/items/b66dde945f595ee61193

「iOS9から追加されておりデフォルト有効なのでBuld settingのEnable bitcodeを無効にしたことで問題なく起動できました。」
と書かれていたので無効にしてみたところ実機ビルドに成功しました!!
xcode7からはEnable bit codeを無効の作業は必須かもしれません。



デベロパ

リンク

2016/2/24(Wed) 23:22:23|NO.74696

admobの件ですが、プロジェクトフォルダとiHSP23admobを同じ階層に置いて、hspproj.xcodeprojをクリックしてXcodeを開くと何故か同じ階層のiHSP23admobを無視して全く別のところにあるiHSP23フォルダを参照してしまうようです。
プロジェクトツリーではhspprojの下がiHSP23admobではなくiHSP23になってしまいます。
AppDelegate.mのiHSP23の部分はiHSP23admobに変えています。

この現象は自分の環境だけなんでしょうか?



おにたま(管理人)

リンク

2016/2/25(Thu) 23:22:38|NO.74705

情報ありがとうございます。今後のバージョン更新の際に参考にさせて頂きます。
iHSP23admobは、最新のHSPのiOSフォルダ内にあるものを参照する必要があります。
正しく参照されていない場合は、一度削除して再度登録するようにしてみてください。



デベロパ

リンク

2016/2/28(Sun) 03:16:24|NO.74726

返信ありがとうございます。
しかしadmobがやはりおかしいです。
最新のHSPというのはHSPのバージョン最新のものということでしょうか?
最新のHSP、プロジェクトも何度か新しいものを作り直し試しているのですがうまくいきません。

試した手順です。

1、windowsで作成したプロジェクトをMacにコピーし、AppDelegate.mのiHSP23の部分をiHSP23admobに変える。
2、HSP35b3のiOSフォルダからiHSP23admobをコピーし、プロジェクトと同じ階層に置く。
3、プロジェクトのhspproj.xcodeprojをクリックしxcodeを起動する。

やはりどうやってもhspprojの下がiHSP23になってしまいます。
Pathを見てみると、iHSP23はプロジェクトが入っているフォルダの存在しないiHSP23フォルダを参照してしまっているようで、存在しないフォルダのなので何も参照できておらずファイルは全て赤文字で表示され開いてみてもNo Editor と表示されます。
試しにiHSP23を消してプロジェクトにiHSP23admobを追加し、フレームワークも追加してビルドを行ってみたところ

"_CGSizeFromGADAdSize", referenced from:
-[HspViewController controlAdMobBanner:] in HspViewController.o

"_OBJC_CLASS_$_GADBannerView", referenced from:
objc-class-ref in HspViewController.o

"_OBJC_CLASS_$_GADRequest", referenced from:
objc-class-ref in HspViewController.o

"hsp3typeinit_dw_extcmd(HSP3TYPEINFO*)", referenced from:
_hsp3eb_init in hsp3embed.o

"_kGADAdSizeBanner", referenced from:
-[HspViewController controlAdMobBanner:] in HspViewController.o
ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)


と6つもエラーが出てしまいました。

気になったのは
Xcodeのbuild setting のSearch Pathsで
LIBRARY_SEARCH_PATHS = $(inherited) ../iHSP23/lib
となっているところです。
iHSP23admobフォルダlibフォルダは中身が空なのでここでエラーが出てしまっているんでしょうか?

また返信いただけると助かります。
そしてiOS版admobにどうか全面広告を!!(iAd広告は今年の6月で終了するらしいです)



おにたま(管理人)

リンク

2016/2/29(Mon) 22:23:33|NO.74736

返信ありがとうございます。

>試しにiHSP23を消してプロジェクトにiHSP23admobを追加し、
>フレームワークも追加してビルドを行ってみたところ

その手順で正しいです。
「ld: symbol(s) not found for architecture x86_64」は、
x86(エミュレーター)用のライブラリ(フレームワーク)が追加されていない場合に出る可能性があります。
指定されたフレームワークがすべてのターゲットに対して追加されているか確認してみてください。
http://www.onionsoft.net/hsp/v35/doclib/hsp3dish_ios.htm#ADMOB



デベロパ

リンク

2016/3/1(Tue) 19:43:57|NO.74741

フレームワークはhspproj > Build Phase > Link Binary With Librariesで「+」を押してプログラミングガイドに載っていたフレームワークを選んで追加という手順で行いました。

追加したフレームワークは
AdSupport.framework
StoreKit.framework
MessageUI.framework
SystemConfiguration.framework
CoreGraphics.framework
CoreAudio.framework
UIKit.framework
Foundation.framework
です。

>x86(エミュレーター)用のライブラリ(フレームワーク)が追加されていない場合
というのは追加の仕方が間違っているという事でしょうか?
フレームワークはプロジェクトツリーのFrameworksを見ると追加されているようです(一度フレームワークを全て消した状態でビルドをして出たエラーの数が43個でその後フレームワークを全て追加してビルドをしたらエラーは5個に減っていたので追加されてる事は間違いないようです)
もしくは最新のxcode(AdMob?)だと他にフレームワークが必要なのでしょうか?

>指定されたフレームワークがすべてのターゲットに対して追加されているか確認してみてください
すいません。全てのターゲットというのがいまいち理解はできていないのですが、targetsにはtestという名前で作ったプロジェクトだけがありそれを指定しています。

いろいろ調べてみると
Build Settings -> Architectures あたりをいじってみるとよさそうだったので
「Build Setting ->「Architectures」 ->「Other」を選択。
そこで、「armv7」を追加し他は消してビルドを行ったところ
エラーが
ld: symbol(s) not found for architecture i386 (他は同じ)
に変わりました。
その後「Architectures」 の項目をいろいろいじったのですがエラーは変わらず。

どっぷりはまってしまっています。
またアドバイスいただけませんでしょうか?



デベロパ

リンク

2016/3/3(Thu) 14:02:32|NO.74745

iHSP23admobをプロジェクトに追加する際にCopy items if needed にチェックが入っていなかったようで、上のエラーの原因はそれだったのかもしれません。
しかし今度はiHSP23admobがしっかり追加された事でエラーが一気に増えてしまいました。

プロジェクトがが入っているフォルダは
/Applications/HSP/iOSAdMob/
でプロジェクト名はtestです。



In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:27:5: warning: 'UIAccelerometer' is deprecated: first deprecated in iOS 5.0 - UIAccelerometer has been replaced by the CoreMotion framework [-Wdeprecated-declarations]
UIAccelerometer *accelerometer;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:1:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/hspproj-Prefix.pch:14:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:11:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h:31:12: note: 'UIAccelerometer' has been explicitly marked deprecated here
@interface UIAccelerometer : NSObject
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Canvas.h:8:1: error: duplicate interface definition for class 'Canvas'
@interface Canvas : UIView {
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Canvas.h:8:12: note: previous definition is here
@interface Canvas : UIView {
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Canvas.h:23:27: error: property has a previous declaration
@property(readonly) GLint bgWidth;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Canvas.h:23:27: note: property declared here
@property(readonly) GLint bgWidth;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Canvas.h:24:27: error: property has a previous declaration
@property(readonly) GLint bgHeight;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Canvas.h:24:27: note: property declared here
@property(readonly) GLint bgHeight;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Canvas.h:25:43: error: property has a previous declaration
@property (nonatomic,retain) EAGLContext *context;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Canvas.h:25:43: note: property declared here
@property (nonatomic,retain) EAGLContext *context;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Canvas.h:26:43: error: property has a previous declaration
@property (nonatomic,assign) NSTimer *animeTimer;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Canvas.h:26:43: note: property declared here
@property (nonatomic,assign) NSTimer *animeTimer;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Canvas.h:27:28: error: property has a previous declaration
@property(readonly) GLuint viewRenderBuff;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Canvas.h:27:28: note: property declared here
@property(readonly) GLuint viewRenderBuff;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Canvas.h:28:28: error: property has a previous declaration
@property(readonly) GLuint viewFrameBuff;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Canvas.h:28:28: note: property declared here
@property(readonly) GLuint viewFrameBuff;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:7:1: error: duplicate interface definition for class 'Image'
@interface Image : NSObject {
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:7:12: note: previous definition is here
@interface Image : NSObject {
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:19:26: error: property has a previous declaration
@property unsigned char* data;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:19:26: note: property declared here
@property unsigned char* data;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:20:26: error: property has a previous declaration
@property GLuint name;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:20:26: note: property declared here
@property GLuint name;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:21:26: error: property has a previous declaration
@property int width;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:21:26: note: property declared here
@property int width;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:22:26: error: property has a previous declaration
@property int height;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:22:26: note: property declared here
@property int height;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:23:26: error: property has a previous declaration
@property int sizex;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:23:26: note: property declared here
@property int sizex;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:24:26: error: property has a previous declaration
@property int sizey;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:24:26: note: property declared here
@property int sizey;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:25:26: error: property has a previous declaration
@property float ratex;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:25:26: note: property declared here
@property float ratex;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Image.h:26:26: error: property has a previous declaration
@property float ratey;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:1:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Image.h:26:26: note: property declared here
@property float ratey;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:39:3: error: typedef redefinition with different types ('struct Color' vs 'struct Color')
} Color;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:39:3: note: previous definition is here
} Color;
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:2:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/Graphics.h:42:1: error: duplicate interface definition for class 'Graphics'
@interface Graphics : NSObject {
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:2:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/Graphics.h:42:12: note: previous definition is here
@interface Graphics : NSObject {
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:8:
/Applications/HSP/iOSAdMob/test/hspproj/../../iHSP23admob/Classes/HspView.h:11:1: error: duplicate interface definition for class 'HspView'
@interface HspView : Canvas <UIAlertViewDelegate,UIAccelerometerDelegate> {
^
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.m:7:
In file included from /Applications/HSP/iOSAdMob/test/hspproj/AppDelegate.h:7:
In file included from /Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspViewController.h:7:
/Applications/HSP/iOSAdMob/test/iHSP23admob/Classes/HspView.h:11:12: note: previous definition is here
@interface HspView : Canvas <UIAlertViewDelegate,UIAccelerometerDelegate> {
^
1 warning and 19 errors generated.

どうやらiHSP23admobのclass内にあるファイルでエラーが出てしまうようで、@propertyとなっているところは全部「property has a previous declaration」というエラーが出てしまいます。
同じプロパティ名で2回宣言しているのが原因というエラーのようですが’、objective-cは全くわからないためどう修正すればいいのか’わかりません。



skyblue

リンク

2016/3/4(Fri) 12:37:09|NO.74765

property has a previous declarationと言うのはエラーと言うより
エラーに関する情報です。
エラーはerror:に続いているのがエラーの直接的な原因です。
duplicate interface declaration for class XXXがエラーの理由で
このエラーの詳細の解説は
http://noitfarmer.blogspot.jp/2012/08/iosduplicate-interface-declaration.html
を見て下さい。条件とか書かれているページです。



おにたま(管理人)

リンク

2016/3/4(Fri) 22:45:03|NO.74775

返信ありがとうございます。
こちらでも調査してみましたが、iHSP23admob/AdMobフォルダに入っているAdMobSDKが古いバージョンのため64bit用のライブラリコードが含まれていないためエラーが出ていると思われます。
(「Copy items if needed」のチェックは入れる必要がありません。)
arm64のビルドを除外すれば、リンク可能かもしれませんが、そのままではAppStoreの申請ができません。

これを解決するためには、iHSP23admob/AdMobフォルダ内のSDKは使用せず、最新のAdMobSDKを参照する必要があります。
https://developers.google.com/admob/ios/quick-start#manually_using_the_sdk_download

ただし、これはライブラリではなくフレームワークの形式で提供されているため、HspViewController.mmのimport指定を変更する必要があります。
まだ試していないのですが、今後のバージョンでこの部分は修正したいと思います。
色々お手数おかけして申し訳ありません。



デベロパ

リンク

2016/3/5(Sat) 10:56:03|NO.74781

調査ありがとうございます!
わざわざ対応していただいて申し訳ないです。

こちらでもいろいろ試してみます。

次のバージョン楽しみにしています!



isamu

リンク

2016/3/11(Fri) 18:10:46|NO.74866

横からですが、うちでもAdMobを入れるとエラーになってしまい
うちの環境のせいかと悩んでいたので、そうでないとわかって
ホッとしました。

ちなみにその時、AdMobの公式サイト
https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start
の説明どおりに空のアプリで試してみたら、広告表示には成功したので
HSPではAdMobなしで作って、xcode上でAdMobを入れればうまくいのくでは
と思ったのですが、HSPで作るとビューがないんですね。
ビュー無しアプリにAdMobを入れる方法はわからず断念しました。
なんか簡単にできるんだったら、今後のアップデートでまたこういう不具合が
起きても対処できそうなのですが。

ともあれ次バージョン楽しみにしております。ありがとうございました。



kanamaru

リンク

2016/3/11(Fri) 20:06:25|NO.74867

調べてみました。
http://qiita.com/shoma2da/items/f96c2f0097353e1f42a5
が参考になりませんか?
ビューを追加せずにadmobを表示しているように思えます。
参考にならなかったらすいません。



デベロパ

リンク

2016/3/13(Sun) 04:29:37|NO.74894

xcode上で広告を設置できるのは理想ですね。AdMobの更新があるたびにエラーが出てたらキリがないですから。
ただHSPで書いたソースがXcode上でどう動いてるかわからないと、広告を入れるタイミングなんかをいじったりすることはできないですよね。
hspsourse.cppをいじれば広告を入れるタイミングなんかを指定できたりするんですかね。何が書いてあるのかは全くわかりませんが。



デベロパ

リンク

2016/3/20(Sun) 13:04:39|NO.74987

最新のGoogle Mobile Ads フレームワークをhspprojに追加してHspViewController.mmに@import GoogleMobileAds; と記述したらUse of '@import' when modules are disabledというエラーが出ますね。
調べてみたところEnable Modules(C and C-Objective-C) を NO から YES にすればエラーが消えると書いてあったので試してみましたがエラーは消えず。
空のアプリでAdMobを実装してみた時はこんなエラーが出なかった、hspソースコードの何かが原因だとは思うんですが。

Google Mobile Ads をインポートできたとして、広告の配置やサイズなどを決めれば広告は表示されますよね?
ちなみにAdMob以外の広告の実装もためしたのですがうまくいかず。
HspViewController.mm以外で広告の実装に関わってるファイルを見ていくしかないですかね。



デベロパ

リンク

2016/3/22(Tue) 17:18:12|NO.75036

完全に独り言になっていますが、AdMob導入の件でわかる方いたらアドバイス下さい!

公式のマニュアル
https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start
を参考にAdMobの導入を試しています!

https://developers.google.com/admob/ios/download?hl=ja
から最新のSDKをダウンロードし、フレームワークをプロジェクトに追加しました。
HspViewController.mm で
#import <GoogleMobileAds/GoogleMobileAds.h>
と記述して(@import GoogleMobileAds; だとエラーが出ます)

必要なフレームワークを追加(サイトに載っているフレームワークの他にCoreMedia.framework も必要でした)

ここでビルドを行ったところエラーが出ず、ビルドできました。

そしてkanamaruさんが載せていただいたサイトを参考にストーリーボードを使わずコードを記述してViewを設定しました。
(このコードを使って空のアプリで試したところAdMobの表示に成功しました)

そしてビルドを行ったところ、エラーが出てしまいました。

ld: warning: object file (/.../GoogleMobileAds.framework/GoogleMobileAds(flat-x86_64)) was built for newer iOS version (7.0) than being linked (6.0)
Undefined symbols for architecture x86_64:
"CGSizeFromGADAdSize(GADAdSize)", referenced from:
-[HspViewController viewDidLoad] in HspViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


あともう少しで広告が表示できそうな気がするんですが、ここで止まっています。
何かわかる方いましたらアドバイス下さい。



デベロパ

リンク

2016/3/22(Tue) 17:59:31|NO.75037

すいません。
extern "C"
{
#import <GoogleMobileAds/GoogleMobileAds.h>
}

と記述することで解決しました!!

ついにビルドに成功しましたが、しかし広告が表示されない...なぜだ



デベロパ

リンク

2016/3/22(Tue) 19:16:28|NO.75038

やはりXcodeからAdMobを実装しようとすると、AdMobSDKが入ってないiHSP23フォルダを使ってもBannerView関係のコードが既にいろんなファイルで記述されてるので厳しいですね...
なのでAdMobSDKの入っているiHSP23AdMobフォルダのHspViewController.mmのインポート部分を#import <GoogleMobileAds/GoogleMobileAds.h>に変えてビルドしてみました。


"hsp3typeinit_dw_extcmd(HSP3TYPEINFO*)", referenced from:
_hsp3eb_init in hsp3embed.o
ld: symbol(s) not found for architecture x86_64

というエラーが出たんですが、これはもしやhsp3embedフォルダのファイルにAdMobが関わっている部分があるって事ですかね。
なかなかすんなりいきませんね。



デベロパ

リンク

2016/3/22(Tue) 23:35:57|NO.75040

AdMobのバナー広告の表示に成功しました。
正式なやり方では無いと思いますが一応エラーなどは出ていませんので表示までの手順載せておきます!!


1.iHSP23AdMobをプロジェクトに追加
2最新のAdMobSDKをダウンロード
https://developers.google.com/admob/ios/download?hl=ja

3.GoogleMobileAsd.frameworkをプロジェクトに追加(copy items if neededにチェック)
4.AppDelegate.mのインポート部分を
#import "../../iHSP23admob/Classes/HspView.h"
に変更
5.HspViewController.mmのインポート部分を
extern "C" {
#import <GoogleMobileAds/GoogleMobileAds.h>
};
に変更
6.hsp3embedフォルダ内のhsp3embed.cppファイルの真ん中あたりにある
hsp3typeinit_dw_extcmd( code_gettypeinfo( -1 ) ); // TYPE_USERDEF
を消すか先頭に//をつけてコメントにする。(このあたりは消していいかわからないのですが一応消してもエラーは出なかったので)
7.フレームワークを追加する
AdSupport
AudioToolbox
AVFoundation
CoreGraphics
CoreTelephony
CoreMedia
EventKit
EventKitUI
MediaPlayer
MessageUI
StoreKit
SystemConfiguration

これでビルドを行えばAdMobが表示されると思います。



ONION software Copyright 1997-2023(c) All rights reserved.