1、swiftUI 如何把Unity3的项目集成到原生项目里面下面文章链接足够了
整合 Unity 到 SwiftUI App
2、如何将Untiy工程集成到OC项目中下面文章足够了
将 Unity 集成到原生 iOS 应用程序中(2020+)
3、在Unity项目中使用了腾讯直播播放器,发现直播视频会崩溃,只有偶尔能够播放。
问题排查发现 TXFFmpeg.framework和TXSoundTouch.framework这两个签名跟跟自己签名不一样,重新给这两个库签名后播放正常。
4、集成Unity的项目后,上传Appstore时候UnityFramwork的 Build phases >Embed Framwork 不能有framwor都需要移动到主工程中
5、如果在导入UnityFramework头文件时候发现找不到,请检查UnityFramework.h文件是否是public
5、第三方库如何实现签名
1.查看framework的签名证书命令:
codesign -d -vv xxxxx.framework
2.删除原有的签名
进入到XX.framwork文件夹内,删除_CodeSignature文件夹
3.查看本机可用的签名文件,命令:
/usr/bin/security find-identity -v -p codesigning
4.使用签名文件签名命令:
codesign -fs "iPhone Developer: ... (...)" xxxxx.framework
6、Unity3d项目使用了libUniWebView.a 跳转H5界面出现崩溃
原因分析
1、swfitUI项目没有Appdegate 也没有UIWindow,所以在启动Unity项目管理类
声明 var window: UIWindow?
self.window = unityFramework?.appController().window;
2 、添加下面两个函数
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
return true
}
@objc public func rootViewController() -> UIViewController {
return UnityManager.shared.unityFramework?.appController().rootViewController ?? UIViewController();
}
3、如果是OC项目就需要实现在Appdelegate里面新增下面方法
- (UIViewController *) rootViewController {
return self.unityAppController.rootViewController;
}
参考链接
Integrating Unity into native iOS applications
7、IOS动态更换应用图标
参考资料
https://juejin.cn/post/7133526724515463175
代码swift方法更改图标会有弹窗提示
采用OC实现方法实现 了更改图标不提示
///执行换图标的方法
+ (void)exchangeAlternateIconWithName:(NSString *)iconName completeBlock:(void (^)(NSError * _Nullable error))completed {
if ([[UIApplication sharedApplication] respondsToSelector:@selector(supportsAlternateIcons)] &&
[[UIApplication sharedApplication] supportsAlternateIcons])
{
NSMutableString *selectorString = [[NSMutableString alloc] initWithCapacity:40];
[selectorString appendString:@"_setAlternate"];
[selectorString appendString:@"IconName:"];
[selectorString appendString:@"completionHandler:"];
SEL selector = NSSelectorFromString(selectorString);
IMP imp = [[UIApplication sharedApplication] methodForSelector:selector];
void (*func)(id, SEL, id, id) = (void *)imp;
if (func)
{
func([UIApplication sharedApplication], selector, iconName, ^(NSError * _Nullable error) {
completed(error);
});
}
}
}