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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2305閲覧

Unity,C#ファイルからネイティブプラグインでObjective-Cが呼び出せない

nonono421

総合スコア2

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/09/07 22:54

##発生している問題
https://marumaro7.hatenablog.com/entry/idfa_att
主にこのサイトを参考にしてATT対応をしていたところ、リクエストウインドウを表示する処理を書く部分でエラーが発生しました。

#コード

RequestIDFAmm

1#import <AppTrackingTransparency/AppTrackingTransparency.h> 2#import <AdSupport/AdSupport.h> 3 4#ifdef __cplusplus 5extern "C" { 6#endif 7 // C#から呼ばれる関数 8 void _requestIDFA() { 9 // if (@available(iOS 14.5,*)) { 10 // [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { 11 // // Tracking authorization completed. Start loading ads here. 12 // // [self loadAd]; 13 // }]; 14 NSLog(@"sampleMethod1 called."); 15 } 16#ifdef __cplusplus 17} 18#endif

IDFAcs

1using UnityEngine; 2using System.Runtime.InteropServices; 3 4public class IDFA : MonoBehaviour 5{ 6 7 8 //RequestIDFA.mmで定義しているObjective-C(iOSで使用されている言語)の関数を以下のようにC#側で定義する 9 [DllImport("__Internal")]//iOSのプラグイン読み込み 参考 https://docs.unity3d.com/ja/2018.4/Manual/NativePlugins.html 10 public static extern void _requestIDFA();//外部で実装されるメソッドを宣言 参考 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/extern 11 12 13 void Start() 14 { 15 #if UNITY_IOS//iOSの場合だけ処理 16 Debug.Log(0); 17 _requestIDFA();//IDFAリクエストの実行 18 Debug.Log(1); 19 #endif//iOSの処理範囲終わり 20 } 21 22} 23

##現状
EntryPointNotFoundException: _requestIDFAというエラーログが出てきます。
おそらくObjective-Cの関数がC#ファイルに呼び出せていないのだと思います。

##試したこと

・dllimportの部分を、

C#

1[DllImport("__Internal", CharSet = CharSet.Unicode, ExactSpelling = false)] 2```に変えたり、[Unicode, Ansi] [true,false]を変えて4通り試した。 3 4・RequestIDFA.mmファイルの場所を、 5Plugins/iOS/RequestIDFA.mmや 6Plugins/RequestIDFA.mmに変えたりした。 7 8 9##バージョン 10Unity 2019.4.16f1 11 12 13 14 15##参考にしたサイト 16[https://qiita.com/fantm21/items/f6f509dd8fe8980f6b94](https://qiita.com/fantm21/items/f6f509dd8fe8980f6b94) 17[https://docs.microsoft.com/ja-jp/dotnet/api/system.entrypointnotfoundexception?view=net-5.0](https://docs.microsoft.com/ja-jp/dotnet/api/system.entrypointnotfoundexception?view=net-5.0) 18[https://www.shibuya24.info/entry/unity_objc](https://www.shibuya24.info/entry/unity_objc) 19[https://tyfkda.github.io/blog/2015/01/28/unity-ios-plugin.html](https://tyfkda.github.io/blog/2015/01/28/unity-ios-plugin.html) 20[https://docs.unity3d.com/ja/2019.4/Manual/NativePlugins.html](https://docs.unity3d.com/ja/2019.4/Manual/NativePlugins.html) 21[https://qiita.com/tkyaji/items/74d485a021c75ed10bca](https://qiita.com/tkyaji/items/74d485a021c75ed10bca) 22[https://marumaro7.hatenablog.com/entry/idfa_att](https://marumaro7.hatenablog.com/entry/idfa_att) 23[https://dolphinetech.com/unity/correspond-admob-ios14/](https://dolphinetech.com/unity/correspond-admob-ios14/)

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

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

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

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

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

guest

回答1

0

自己解決

どうやらエラーログが出ても大丈夫なようです。

投稿2021/09/08 04:09

nonono421

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問