Compare commits
2 Commits
1911637020
...
27a5fea2b8
| Author | SHA1 | Date | |
|---|---|---|---|
| 27a5fea2b8 | |||
| cf146940c1 |
@@ -12,13 +12,26 @@ public class NativeSharePackageNameGuard : IPreprocessBuildWithReport
|
|||||||
|
|
||||||
public void OnPreprocessBuild(BuildReport report)
|
public void OnPreprocessBuild(BuildReport report)
|
||||||
{
|
{
|
||||||
if (report.summary.platform != BuildTarget.Android)
|
BuildTarget platform = report.summary.platform;
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
CheckUnityAndroidPackageName();
|
if (platform == BuildTarget.Android)
|
||||||
CheckNativeSharePackageName();
|
{
|
||||||
|
// Android はこの package 名が機能に直結するためビルドを停止する。
|
||||||
|
CheckUnityAndroidPackageName();
|
||||||
|
|
||||||
|
if (ContainsDefaultNativeSharePackageName())
|
||||||
|
{
|
||||||
|
throw new BuildFailedException(BuildPackageNameMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (platform == BuildTarget.iOS)
|
||||||
|
{
|
||||||
|
// iOS 自体は jp.yourname を使わないので、止めずに警告でリネームを促す。
|
||||||
|
if (ContainsDefaultNativeSharePackageName())
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[NativeShare] " + BuildPackageNameMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckUnityAndroidPackageName()
|
private void CheckUnityAndroidPackageName()
|
||||||
@@ -55,7 +68,7 @@ public class NativeSharePackageNameGuard : IPreprocessBuildWithReport
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckNativeSharePackageName()
|
private bool ContainsDefaultNativeSharePackageName()
|
||||||
{
|
{
|
||||||
string assetsPath = Application.dataPath;
|
string assetsPath = Application.dataPath;
|
||||||
|
|
||||||
@@ -74,33 +87,34 @@ public class NativeSharePackageNameGuard : IPreprocessBuildWithReport
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
string text = File.ReadAllText(filePath);
|
if (File.ReadAllText(filePath).Contains(DefaultNativeSharePackageName))
|
||||||
|
|
||||||
if (text.Contains(DefaultNativeSharePackageName))
|
|
||||||
{
|
{
|
||||||
throw new BuildFailedException(
|
return true;
|
||||||
"NativeShare の Android Java package 名が初期値のままです。\n\n" +
|
|
||||||
"Android向けにビルドする前に、次の2種類の Package Name を確認してください。\n\n" +
|
|
||||||
"1. Unity Player Settings の Package Name\n" +
|
|
||||||
" Project Settings > Player > Android > Other Settings > Identification > Package Name\n" +
|
|
||||||
" 例: jp.piccolo.cameraapp\n\n" +
|
|
||||||
"2. NativeShare 側の Java package 名\n" +
|
|
||||||
" 次の仮パッケージ名を、自分のものへ変更してください。\n\n" +
|
|
||||||
" " + DefaultNativeSharePackageName + "\n\n" +
|
|
||||||
" 例:\n" +
|
|
||||||
" jp.piccolo.unity.nativeshare\n" +
|
|
||||||
" jp.piccolo.cameraapp.nativeshare\n\n" +
|
|
||||||
"変更が必要な主な箇所:\n" +
|
|
||||||
"・NativeShareBridge.cs の AndroidJavaClass の文字列\n" +
|
|
||||||
"・NativeShareBridge.java の package 行\n" +
|
|
||||||
"・NativeShareFileProvider.java の package 行\n" +
|
|
||||||
"・AndroidManifest.xml の provider android:name\n" +
|
|
||||||
"・Android 側のフォルダ名\n\n" +
|
|
||||||
"補足:\n" +
|
|
||||||
"Unity Player Settings の Package Name と、NativeShare の Java package 名は、" +
|
|
||||||
"同じである必要はありません。"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string BuildPackageNameMessage()
|
||||||
|
{
|
||||||
|
return
|
||||||
|
"NativeShare の Java package 名が初期値(テンプレートの仮名)のままです。\n\n" +
|
||||||
|
"公開・配布の前に、次の仮パッケージ名を自分のものへ変更してください。\n\n" +
|
||||||
|
" " + DefaultNativeSharePackageName + "\n\n" +
|
||||||
|
" 例:\n" +
|
||||||
|
" jp.piccolo.unity.nativeshare\n" +
|
||||||
|
" jp.piccolo.cameraapp.nativeshare\n\n" +
|
||||||
|
"変更が必要な主な箇所:\n" +
|
||||||
|
"・NativeShareBridge.cs の AndroidJavaClass の文字列\n" +
|
||||||
|
"・NativeShareBridge.java の package 行\n" +
|
||||||
|
"・NativeShareFileProvider.java の package 行\n" +
|
||||||
|
"・AndroidManifest.xml の provider android:name\n" +
|
||||||
|
"・Android 側のフォルダ名(jp/yourname/unity/nativeshare)\n\n" +
|
||||||
|
"補足:\n" +
|
||||||
|
"・この package 名は Android のネイティブ実装で使われます。\n" +
|
||||||
|
" iOS のビルド自体には必須ではありませんが、公開前のリネームを推奨します。\n" +
|
||||||
|
"・アプリの Package Name(Player Settings)と、NativeShare の Java\n" +
|
||||||
|
" package 名は、同じである必要はありません。";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -52,6 +52,7 @@
|
|||||||
|
|
||||||
- 写真保存に必要な `NSPhotoLibraryAddUsageDescription` は、ビルド後処理(`NativeSharePostProcessBuild.cs`)で Info.plist に自動追加されます。文言を変えたい場合はそのスクリプトを編集してください。
|
- 写真保存に必要な `NSPhotoLibraryAddUsageDescription` は、ビルド後処理(`NativeSharePostProcessBuild.cs`)で Info.plist に自動追加されます。文言を変えたい場合はそのスクリプトを編集してください。
|
||||||
- カメラ用途の説明(`NSCameraUsageDescription`)は Player Settings の「Camera Usage Description」で設定してください。
|
- カメラ用途の説明(`NSCameraUsageDescription`)は Player Settings の「Camera Usage Description」で設定してください。
|
||||||
|
- iOS は `jp.yourname.unity.nativeshare` を実際には使いませんが、テンプレートの仮名のまま残っていると**ビルド時に警告(非ブロック)**でリネームを促します(`NativeSharePackageNameGuard`)。Android はビルドを停止します。
|
||||||
|
|
||||||
## ライセンス
|
## ライセンス
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user